首页 > 解决方案 > 有没有更有效的方法在 JavaScript 中使用 For 循环显示两个数组的总和?

问题描述

我希望最终结果显示“276 + 351 = 627”。使用 for 循环时有更有效的方法吗?这是我在网上找到的一个练习题,所以2个数组之后的东西就是我想出的。

let arr_1 = [3, 5, 22, 5,  7,  2,  45, 75, 89, 21, 2];
let arr_2 = [9, 2, 42, 55, 71, 22, 4,  5,  90, 25, 26];

let sum1 = 0;
let sum2 = 0;

for (let i = 0; i < arr_1.length; i++) {
    sum1 += arr_1[i];
}
for (let j = 0; j < arr_2.length; j++) {
    sum2 += arr_2[j];
}

let total = sum1 + sum2;

console.log(`${sum1} + ${sum2} = ${total}`);

标签: javascriptloopsfor-loop

解决方案


reduce函数允许您以非常简短的方式编写它:

const arr_1 = [3, 5, 22, 5,  7,  2,  45, 75, 89, 21, 2],
      arr_2 = [9, 2, 42, 55, 71, 22, 4,  5,  90, 25, 26],
      add   = arr => arr.reduce((sum, n) => sum + n),
      sum1  = add(arr_1),
      sum2  = add(arr_2),
      total = sum1 + sum2;

console.log(`${sum1} + ${sum2} = ${total}`);


推荐阅读