You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Javascript中如何对对象数组的不同字段分别进行求和计算?

对象数组按字段分别求和解决方案

原代码问题分析

你只声明了单个sum变量存储累加值,所有字段的计算结果都会叠加到同一个变量上,因此最终得到的是所有字段所有值的总和(3+6+2+4=15),无法拆分单个字段的求和结果。

实现代码

const myArrayObject = [{value1: 3, value2:6}, {value1: 2, value2: 4}];
// 初始化求和结果对象,所有字段初始值为0
const sumResult = {};

myArrayObject.forEach(item => {
  // 遍历当前对象的所有自有属性
  Object.keys(item).forEach(key => {
    // 若字段首次出现则先初始化值为0
    sumResult[key] = (sumResult[key] || 0) + item[key];
  });
});

console.log(sumResult); // 输出:{ value1: 5, value2: 10 }

代码说明

  • 用sumResult对象存储所有字段的求和结果,键和原对象的字段名一一对应,值为对应字段的求和结果
  • 自动适配数组对象的任意未知字段,即使不同对象包含的字段不完全一致也能正常计算
  • 最终可以通过sumResult.你的字段名直接获取对应字段的求和值

内容的提问来源于stack exchange,提问作者ASO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:39:03