Abh*_*rav 0 reactjs react-native
有3个数组,在该值中,我必须计算_activityStatus的数量:“ I”(ony I值)。我正在尝试的一种方法是
StepsStatus :[]
StepsStatus = StepsVaue.map(StepsVaue => {
return StepsVaue._activityStatus;
});
Run Code Online (Sandbox Code Playgroud)
我正在StepsStatus中使用所有_activityStatus。现在,我只需要计算自己的价值即可。
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
Run Code Online (Sandbox Code Playgroud)
谢谢
您可以array.filter()用来创建新数组,仅使用符合特定条件的项目。
let iValues = StepsVaue.filter((item) => {
return item._activityStatus === "I"
})
console.log(iValues.length)
Run Code Online (Sandbox Code Playgroud)
您也可以array.reduce()按照Antonio的建议使用,只记得定义一个默认值,否则您的结果可能不是您期望的。:)
StepsVaue.reduce((total, item) => total + (item._activityStatus === "I" ? 1 : 0), 0)
Run Code Online (Sandbox Code Playgroud)
您可以使用filter()函数来过滤项目。
StepsValue.filter(item => item._activityStatus === "I").length
Run Code Online (Sandbox Code Playgroud)
或者你可以使用reduce()函数
StepsValue.reduce((count, item) => count + (item._activityStatus === "I" ? 1 : 0), 0)
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用,
reduce()因为它比filter().
祝你好运。
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |