对数组中的对象进行分组和求和
要按特定属性对对象数组进行分组并对 jQuery 中的另一个属性求和,您可以可以利用以下步骤:
1.循环和Reduce:
使用$.each()函数迭代数组,对于每个对象,检查结果数组中是否已存在具有相同分组属性的对象。如果没有,则创建一个具有分组属性且初始数量为 0 的新对象。将此对象添加到结果数组中。
2.求和属性:
在循环内,将当前对象中要求和的属性值(例如数量)添加到结果数组中的相应对象中。这有效地累积了每个组的数量。
这是使用 jQuery 的示例代码:
var array = [ { Id: "001", qty: 1 }, { Id: "002", qty: 2 }, { Id: "001", qty: 2 }, { Id: "003", qty: 4 } ]; var result = []; $.each(array, function(i, obj) { var idx = result.findIndex(x => x.Id === obj.Id); if (idx === -1) { result.push({ Id: obj.Id, qty: 0 }); idx = result.length - 1; } result[idx].qty += obj.qty; }); console.log(result);
此代码将记录以下输出:
[ { Id: "001", qty: 3 }, { Id: "002", qty: 2 }, { Id: "003", qty: 4 } ]
通过执行以下步骤,您可以有效地对数组中对象的属性进行分组和求和,从而使您能够从您的数据中提取有价值的见解数据。
以上是如何使用 jQuery 按特定属性对数组中的对象进行分组和求和?的详细内容。更多信息请关注PHP中文网其他相关文章!