首页 >web前端 >js教程 >如何使用 jQuery 按特定属性对数组中的对象进行分组和求和?

如何使用 jQuery 按特定属性对数组中的对象进行分组和求和?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-17 09:30:03673浏览

How Can I Group and Sum Objects in an Array by a Specific Property Using jQuery?

对数组中的对象进行分组和求和

要按特定属性对对象数组进行分组并对 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中文网其他相关文章!

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