首页 > web前端 > js教程 > 如何有效地对 JavaScript 对象中相似键的值求和?

如何有效地对 JavaScript 对象中相似键的值求和?

Barbara Streisand
发布: 2024-11-23 04:17:13
原创
182 人浏览过

How to Efficiently Sum Values of Similar Keys in JavaScript Objects?

对相似对象键的值求和

给定一个 JavaScript 对象数组,如何有效地对与相似键关联的值求和?

方法

为了实现这一目标,我们可以采用以下方法步骤:

  1. 创建 Holder 对象: 迭代原始数组并使用名称属性作为键填充对象 Holder。对于每个键,将值初始化为相应的值,或者如果键已存在,则将值添加到现有值。
  2. 构建新数组:一旦拥有了holder对象,就创建通过迭代其属性来创建新数组 obj2。对于每个属性,使用名称键和值的总和作为值创建一个对象。

示例

考虑示例数组:

var obj = [
  { 'name': 'P1', 'value': 150 },
  { 'name': 'P1', 'value': 150 },
  { 'name': 'P2', 'value': 200 },
  { 'name': 'P3', 'value': 450 }
];
登录后复制

应用上述方法:

// Create a holder object to sum values for similar names
var holder = {};
obj.forEach(function(d) {
  if (holder.hasOwnProperty(d.name)) {
    holder[d.name] = holder[d.name] + d.value;
  } else {
    holder[d.name] = d.value;
  }
});

// Populate a new array with the summed values
var obj2 = [];
for (var prop in holder) {
  obj2.push({ name: prop, value: holder[prop] });
}

// Output the result
console.log(obj2);
登录后复制

预期输出:

[
  { 'name': 'P1', 'value': 300 },
  { 'name': 'P2', 'value': 200 },
  { 'name': 'P3', 'value': 450 }
]
登录后复制

以上是如何有效地对 JavaScript 对象中相似键的值求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

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