首页 > web前端 > js教程 > 正文

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

Linda Hamilton
发布: 2024-11-17 07:51:03
原创
470 人浏览过

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

按属性对对象数组进行分组和求和

问题

给定一个对象数组,您的目标是按特定值对它们进行分组属性,例如 Id,并使用 jQuery 计算每个组的另一个属性(例如 qty)的总和。

示例

考虑以下输入数组:

var array = [
  { Id: "001", qty: 1 },
  { Id: "002", qty: 2 },
  { Id: "001", qty: 2 },
  { Id: "003", qty: 4 }
];
登录后复制

所需的输出是:

[
  { Id: "001", qty: 3 },
  { Id: "002", qty: 2 },
  { Id: "003", qty: 4 }
]
登录后复制

解决方案

要按 Id 对数组进行分组并使用 jQuery 对每个组的数量值求和,您可以采用以下方法:

$(array).groupBy('Id').reduce(function (res, obj) {
  return res + obj.qty;
}, 0);
登录后复制

以下是解决方案的细分:

  • jQuery 的 groupBy 插件: 该插件根据指定的属性 Id 对对象数组进行分组。它返回一个对象,其属性键对应于唯一的 Id 值。
  • jQuery 的 reduce 方法: 该方法迭代分组对象并应用指定的回调函数来计算 qty 值的总和对于每个组。在这种情况下,回调函数只是将每个对象的 qty 属性添加到累加器中。

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

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