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
相关产品推荐
相关产品推荐

