首页 > 解决方案 > 如何在对象数组中找到许多总和

问题描述

我有一个大数组,为了问题的目的我已经简化了

[
  {"item1": 3, "item40": 2},
  {"item1": 4, "item40": 8}
]

我想以这个结束,这是对象数组中每个相似属性的总和。我尝试了很多。做一个 forEach 里面有一个 forIn。但我被困住了。请帮忙 :)

[5, 12]

标签: javascriptarrayssum

解决方案


您可以使用Array.prototype.map()withArray.prototype.reduce()来获得结果。使用 map 遍历数组,使用 map 获取对象值Object.values(),最后使用 reduce 求和。

const data = [
  { item1: 3, item40: 2 },
  { item1: 4, item40: 8 },
];
const ret = data.map((x) => Object.values(x).reduce((p, c) => p + c, 0));
console.log(ret);


推荐阅读