Есть 3 массива, в этом значении я должен считать _activityStatus: "I" (любое значение I). один из способов, которым я пытаюсь
StepsStatus :[]
StepsStatus = StepsVaue.map(StepsVaue => {
return StepsVaue._activityStatus;
});
Я беру все _activityStatus в StepsStatus. Теперь мне нужно считать только то, что я ценю.
currentNextActivity: Array(3)
0:
__typename: "CurrentNextActivity"
_activityName: "FXL_ACT1"
_activityStatus: "I"
_maxHoldTime: "60"
_userName: "tecnotree"
1:
__typename: "CurrentNextActivity"
_activityName: "FXL_ACT2"
_activityStatus: "I"
_maxHoldTime: "60"
_userName: "tecnotree"
__proto__: Object
2:
__typename: "CurrentNextActivity"
_activityName: "FXL_ACT3"
_activityStatus: "N"
_maxHoldTime: "120"
_userName: null
Спасибо





Вы можете использовать array.filter() для создания нового массива, используя только элементы, соответствующие определенному условию.
let iValues = StepsVaue.filter((item) => {
return item._activityStatus === "I"
})
console.info(iValues.length)
Вы также можете использовать array.reduce(), как предложил Даймонд, просто не забудьте определить значение по умолчанию, иначе ваш результат может быть не таким, как вы ожидаете. :)
StepsVaue.reduce((total, item) => total + (item._activityStatus === "I" ? 1 : 0), 0)
Вы можете использовать функцию filter() для фильтрации элементов.
StepsValue.filter(item => item._activityStatus === "I").length
Или вы можете использовать функцию reduce()
StepsValue.reduce((count, item) => count + (item._activityStatus === "I" ? 1 : 0), 0)
I prefer to use
reduce()because it will use less memory thanfilter().
Удачи.
не могли бы вы помочь мне с этим stackoverflow.com/questions/56424607/…