首页  >  文章  >  web前端  >  如何使用 jQuery 按属性对对象数组进行分组和求和?

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

Barbara Streisand
Barbara Streisand原创
2024-11-17 19:37:01722浏览

How to Group and Sum an Array of Objects by Property Using jQuery?

如何使用 jQuery 按属性对对象数组进行分组和求和

jQuery 提供了强大的数据操作方法,包括按公共属性对对象数组进行分组的能力并对它们的相关值求和。

解决方案

要实现这种分组和求和, jQuery:

  1. 使用 .each() 方法迭代对象数组。
  2. 对于每个对象,检查结果数组中是否已存在 Id 属性。
  3. 如果存在,则将相应的数量值增加该对象的数量值。
  4. 否则,在中创建一个新对象具有 Id 属性且数量值等于对象数量值的结果数组。

示例代码

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

var result = [];
$.each(array, function(index, object) {
  if (!$.inArray(object.Id, result)) {
    result.push({ Id: object.Id, qty: 0 });
  }
  $.grep(result, function(value) {
    if (value.Id === object.Id) {
      value.qty += object.qty;
    }
  });
});

console.log(result);

输出:

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

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

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