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

如何计算JSON数组中值的总和?示例代码求解

计算JSON数组中值的总和解决方案

嘿,我来帮你搞定这个求和问题!你的数组里每个元素都是仅包含单个键值对的对象,咱们可以用几种简单直观的方法来算出总和:

方法1:使用forEach循环累加

这是最容易理解的方式,先初始化一个总和变量,然后遍历数组里的每个对象,提取值并累加:

var taxes = [ {"1": 11}, {"2": 33} ];
let total = 0;

taxes.forEach(item => {
  // 用Object.values()取出对象的值,因为每个对象只有一个值,直接取索引0
  total += Object.values(item)[0];
});

console.log(total); // 输出 44

方法2:使用reduce方法(更简洁)

reduce是数组处理里很实用的方法,可以直接一步算出总和,代码更紧凑:

var taxes = [ {"1": 11}, {"2": 33} ];

const total = taxes.reduce((sum, currentItem) => {
  // 提取当前对象的值并加到累计总和里
  return sum + Object.values(currentItem)[0];
}, 0); // 0是初始的总和值

console.log(total); // 输出 44

拓展:如果对象有多个键值对怎么办?

要是你的数组对象里可能包含多个数值需要累加,也可以嵌套reduce来处理:

var taxes = [ {"1": 11, "extra": 5}, {"2": 33} ];

const total = taxes.reduce((totalSum, item) => {
  // 先把当前对象的所有值加起来,再加到总总和里
  const itemSum = Object.values(item).reduce((acc, val) => acc + val, 0);
  return totalSum + itemSum;
}, 0);

console.log(total); // 输出 11+5+33=49

核心思路就是用Object.values()把对象里的数值提取成数组,再通过循环或者reduce来完成累加操作,完全适配你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:28:26