说我有以下数组:
var BUILDINGS = [
{ production: {"numberProd": 6}},
{ production: {"numberProd": 11}},
{ production: {"numberProd": 14}},
];
我正在尝试使用
reduce()
总计这些产品的总和。我尝试了以下操作:BUILDINGS.reduce(function(a,b) {return a.production.numberProd + b.production.numberProd});
但是,当我运行代码时,我得到的值是
NaN
。我想知道如何正确设置
reduce()
语句。谢谢!
最佳答案
您必须传递0
的初始值,该初始值将在a
的初始迭代中分配给第一个参数reduce()
。
请尝试以下操作:
var BUILDINGS = [
{ production: {"numberProd": 6}},
{ production: {"numberProd": 11}},
{ production: {"numberProd": 14}},
];
var prod = BUILDINGS.reduce(function(a,b) {
return a + b.production.numberProd;
}, 0);
console.log('Total:', prod);
关于javascript - 如何用reduce总结对象数组的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49934188/