所以我有一个数组
const records = [
{
value: 24,
gender: "BOYS"
},
{
value: 42,
gender: "BOYS"
},
{
value: 85,
gender: "GIRLS"
},
{
value: 12,
gender: "GIRLS"
},
{
value: 10,
gender: "BOYS"
}
]
我想得到 sum
所以我使用了 JavaScript 数组 reduce 函数并做对了。这是我的代码:
someFunction() {
return records.reduce(function(sum, record){
return sum + record.value;
}, 0);
}
使用该代码,我得到正确的值 173
。现在我想要做的是将所有的总和只分配给那些拥有 "BOYS"
性别的对象。
我尝试了类似的东西
someFunction() {
return records.reduce(function(sum, record){
if(record.gender == 'BOYS') return sum + record.value;
}, 0);
}
但我什么也得不到。我在这里错过了什么吗?任何帮助将非常感激。
原文由 wobsoriano 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您从 reduce 函数返回任何内容时,它会返回 undefined 和 undefined + 1 === NaN。您应该在减少之前过滤数组。