【问题标题】: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 来实现这一点

【问题讨论】:

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


【解决方案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】:

    两个问题:你的 totalobj 参数是反向的,你需要提供一些东西来初始化 total 变量(这是 ,0 部分)

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

    【讨论】:

    • 我喜欢你的解决方案,完全按照我想要的方式工作。谢谢!
    猜你喜欢
    • 2020-06-14
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多