我想说我有一个包含多个对象的数组,如:
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来实现这个目标
答案 0 :(得分:7)
两个问题:您的total
和obj
参数是倒退的,您需要提供一些内容来初始化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);