如何对对象中特定键的所有值求和?

时间:2018-01-31 20:13:08

标签: javascript arrays node.js ecmascript-6 ecmascript-5

我想说我有一个包含多个对象的数组,如:

var arr = [{ 'credit': 1, 'trash': null }, { 'credit': 2, 'trash': null}]

我希望得到credit数组中所有arr值的总和。所以期望的总和值是3.所以我使用了这段代码:

arr.reduce((obj, total) => obj.credit + total)

但是当我运行它时,我得到"1[object Object]"这真的很奇怪。

Ps:我试图用ES6而不是ES5来实现这个目标

2 个答案:

答案 0 :(得分:7)

两个问题:您的totalobj参数是倒退的,您需要提供一些内容来初始化total变量(即,0部分)

arr.reduce((total, obj) => obj.credit + total,0)
// 3

答案 1 :(得分:0)

您可以在此处使用.forEach()



var arr = [{ 'credit': 1, 'trash': null }, { 'credit': 2, 'trash': null}];

var total = 0;
arr.forEach(item => {
    total += item.credit;
});
  
console.log(total);