按键对对象数组进行分组和求和
在 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中文网其他相关文章!