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

JavaScript中计算单个及多个目标数组的元素总和并输出最终结果

嵌套二元组数组求和:单数组与多数组实现示例

单个数组求和实现

修正forEach写法(避免输出中间值)

你用forEach时会输出每一步累加值,是因为把打印语句写在了循环内部。只需要把累加变量放在循环外,循环结束后再打印最终结果即可:

// 假设目标数组为 MyArray.M[0].GA.L
const targetArray = MyArray.M[0].GA.L;
let sum = 0;

targetArray.forEach(item => {
  sum += item[1]; // 仅累加二元组的第二个元素,不在这里打印
});

console.log(sum); // 循环结束后输出最终总和

更简洁的reduce写法

reduce是数组专为累加/聚合操作设计的方法,代码更紧凑,无需额外外部变量:

const targetArray = MyArray.M[0].GA.L;
const sum = targetArray.reduce((total, item) => total + item[1], 0);

console.log(sum);

四个数组一次性求和实现

方法1:合并数组后统一计算

先将四个数组的所有元素合并为一维数组,再用reduce累加:

// 定义四个目标数组
const arrList = [
  MyArray.M[0].GA.L,
  MyArray.M[0].GB.L,
  MyArray.M[0].GC.L,
  MyArray.M[0].GD.L
];

const totalSum = arrList
  .flat() // 扁平化嵌套数组
  .reduce((total, item) => total + item[1], 0);

console.log(totalSum);

方法2:分别求和后再相加

先封装一个求和函数,再逐个计算每个数组的和并累加:

// 封装通用求和函数
const getArraySum = (arr) => arr.reduce((total, item) => total + item[1], 0);

// 计算四个数组的总和
const totalSum = getArraySum(MyArray.M[0].GA.L) +
                 getArraySum(MyArray.M[0].GB.L) +
                 getArraySum(MyArray.M[0].GC.L) +
                 getArraySum(MyArray.M[0].GD.L);

console.log(totalSum);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:51:57