首页 >web前端 >js教程 >如何在 JavaScript 中按键对对象数组进行分组和求和?

如何在 JavaScript 中按键对对象数组进行分组和求和?

Susan Sarandon
Susan Sarandon原创
2024-11-23 03:33:22646浏览

How to Group and Sum an Array of Objects by a Key in JavaScript?

按键对对象数组进行分组和求和

在 JavaScript 中,您可以按特定键和总和对对象数组进行分组使用 jQuery 强大的工具与该键关联的值。以下是实现此目的的方法:

var array = [
  { Id: '001', qty: 1 },
  { Id: '002', qty: 2 },
  { Id: '001', qty: 2 },
  { Id: '003', qty: 4 }
];

循环和求和

一种有效的方法是迭代数组并使用 reduce() 方法累加值。此方法采用回调函数,将数组简化为单个值,在本例中为表示分组值的对象。

var result = [];
array.reduce(function (res, value) {
  if (!res[value.Id]) {
    res[value.Id] = { Id: value.Id, qty: 0 };
    result.push(res[value.Id]);
  }
  res[value.Id].qty += value.qty;
  return res;
}, {});

输出:

[
  { Id: '001', qty: 3 },
  { Id: '002', qty: 2 },
  { Id: '003', qty: 4 }
]

该解决方案通过 Id 键有效地对对象进行分组,并对相应的数量值进行求和,从而得到一个经过分组和求和的对象数组价值观。

以上是如何在 JavaScript 中按键对对象数组进行分组和求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn