javascript - 如何使用基于另一个参数的对象列表中的参数? (JavaScript)

标签 javascript arrays multidimensional-array

我不确定我是否可以正确解释这一点,但就是这样。假设我有这个:

List = {
    0: {
        payment: 1,
        value: 10
    },
    1: {
        payment: 2,
        value: 15
    },
    2: {
        payment: 1,
        value: 12
    },
    3: {
        payment: 2,
        value: 13
    }
}

如何分别计算 2 笔付款的值(value)?又名 sumforpayment1= 10 +12sumforpayment2= 15 + 13

最佳答案

您可以使用 Object.keys()reduce()返回包含每笔付款金额的对象。

var data = {
  0: {
    payment: 1,
    value: 10
  },
  1: {
    payment: 2,
    value: 15
  },
  2: {
    payment: 1,
    value: 12
  },
  3: {
    payment: 2,
    value: 13
  }
}

var result = Object.keys(data).reduce(function(r, e) {
  var key = 'sumforpayment' + data[e].payment;
  r[key] = (r[key] || 0) + data[e].value;
  return r;
}, {})

console.log(result)

关于javascript - 如何使用基于另一个参数的对象列表中的参数? (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38895042/

相关文章:

Java读取文件并写入数组

javascript - 传单圆圈颜色取决于变量

javascript - 如何使用 Jquery(或 JS)选择动态创建的输入字段?

javascript - 检查对象数组是否已更改

javascript - 我如何从特定位置开始将该字符串分成两部分

python - 从 DataFrame 到嵌套的 Json 对象

c++ - 构造一个空矩阵

javascript - ajax调用后重新加载jquery插件

javascript - jade/pug 中的导入语句

php - 如何在 codeigniter 中将多维数组作为单独的行保存到数据库中?