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

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

Susan Sarandon
发布: 2024-11-23 03:33:22
原创
590 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板