Reactjs 如何计算数组值
有3个数组,在这个值中我必须计算_activityStatus:I ony I value。 我尝试的一个方法是Reactjs 如何计算数组值,reactjs,react-native,Reactjs,React Native,有3个数组,在这个值中我必须计算_activityStatus:I ony I value。 我尝试的一个方法是 StepsStatus :[] StepsStatus = StepsVaue.map(StepsVaue => { return StepsVaue._activityStatus; }); 我将以StepsStatus的形式获取所有活动状态。现在我只需要计算I值 currentNextActivity: Array(3)
StepsStatus :[]
StepsStatus = StepsVaue.map(StepsVaue => {
return StepsVaue._activityStatus;
});
我将以StepsStatus的形式获取所有活动状态。现在我只需要计算I值
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.log(iValues.length)
您也可以使用array.reduce,正如Diamond建议的那样,只需记住定义一个默认值,否则您的结果可能与预期不符:
StepsVaue.reduce((total, item) => total + (item._activityStatus === "I" ? 1 : 0), 0)
您可以使用筛选功能筛选项目
StepsValue.filter(item => item._activityStatus === "I").length
或者可以使用reduce函数
我更喜欢使用reduce,因为它比reduce使用更少的内存
过滤器
祝你好运。你能帮我一下吗
StepsValue.reduce((count, item) => count + (item._activityStatus === "I" ? 1 : 0), 0)