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

Javascript 如何对含动态键的对象数组的所有属性值求和

动态键对象数组属性值求和实现方案

最简实现代码

兼容ES2017+版本(通用性最强)

const total = arr.reduce((sum, cur) => sum + Object.values(cur).reduce((valSum, val) => valSum + val, 0), 0);

ES2019+ 更短写法

如果运行环境支持flatMap语法,可使用更简洁的写法:

const total = arr.flatMap(Object.values).reduce((a, b) => a + b, 0);

实现逻辑

两种写法的核心逻辑一致:

  1. 取出数组中每个对象的所有属性值,不受动态键名限制
  2. 将所有属性值累加得到最终总和

代入你给出的示例数组计算,最终输出结果为9,完全符合预期。

与参考代码的差异

你找到的参考代码实现的是按不同键名分组统计每个键的总和,输出为各键总和组成的对象,不符合总合计需求。本实现去掉了按键分组的逻辑,直接累加所有属性值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:21:00