如何对对象中特定键的所有值求和?
Posted
技术标签:
【中文标题】如何对对象中特定键的所有值求和?【英文标题】:How to sum all of values from specific key in object? 【发布时间】:2018-07-11 01:35:32 【问题描述】:假设我有一个包含多个对象的数组,例如:
var arr = [ 'credit': 1, 'trash': null , 'credit': 2, 'trash': null]
我想从 arr
数组中获取所有 credit
值的总和。所以预期总和值为 3。所以我使用了以下代码:
arr.reduce((obj, total) => obj.credit + total)
但是当我运行它时,我得到了"1[object Object]"
,这真的很奇怪。
Ps:我正在尝试使用 ES6 而不是 ES5 来实现这一点
【问题讨论】:
developer.mozilla.org/en-US/docs/Web/javascript/Reference/… @KevinB 我在代码中使用了 reduce,结果出现错误。帖子中的详细信息 对,阅读示例。你在做一些倒退的事情。 【参考方案1】:您可以在这里使用.forEach()
:
var arr = [ 'credit': 1, 'trash': null , 'credit': 2, 'trash': null];
var total = 0;
arr.forEach(item =>
total += item.credit;
);
console.log(total);
【讨论】:
【参考方案2】:两个问题:你的 total
和 obj
参数是反向的,你需要提供一些东西来初始化 total
变量(这是 ,0
部分)
arr.reduce((total, obj) => obj.credit + total,0)
// 3
【讨论】:
我喜欢你的解决方案,完全按照我想要的方式工作。谢谢!以上是关于如何对对象中特定键的所有值求和?的主要内容,如果未能解决你的问题,请参考以下文章