首页 >web前端 >js教程 >如何聚合 JavaScript 对象数组中相似键的值?

如何聚合 JavaScript 对象数组中相似键的值?

Susan Sarandon
Susan Sarandon原创
2024-11-24 19:23:20969浏览

How to Aggregate Values for Similar Keys in an Array of JavaScript Objects?

对象数组中相似键的聚合值

给定一个对象数组,其中每个对象都拥有一个名为“name”的键和相应的值,任务是按对象的“名称”对对象进行分组并累积其“值”属性。例如,如果我们有以下数组:

[
    { 'name': 'P1', 'value': 150 },
    { 'name': 'P1', 'value': 150 },
    { 'name': 'P2', 'value': 200 },
    { 'name': 'P3', 'value': 450 }
]

所需的输出将是:

[
    { 'name': 'P1', 'value': 300 },
    { 'name': 'P2', 'value': 200 },
    { 'name': 'P3', 'value': 450 }
]

为了实现此聚合,我们可以采用如下迭代方法:

  1. 创建一个对象来保存名称-值对: 首先创建一个空对象。该对象将用于存储对象的名称-值对。
  2. 迭代数组并累加值:使用 forEach 迭代对象数组。对于每个对象,检查该对象的“name”属性是否作为属性存在于持有对象中。如果存在,则将对象的“value”属性添加到现有值中。如果不存在,则将“name”属性的值设置为对象的“value”属性。
  3. 使用聚合对象创建一个新数组:一旦所有值都已累积到持有对象,创建一个新数组。迭代持有对象的属性,并将具有“名称”和“值”属性的新对象推送到数组中。

这种迭代方法可确保具有相同“名称”的对象被分组在一起,并且它们的“价值”属性会相应累积。

以上是如何聚合 JavaScript 对象数组中相似键的值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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