📌  相关文章
📜  资质| JavaScript课程测验3 |问题5(1)

📅  最后修改于: 2023-12-03 14:57:48.066000             🧑  作者: Mango

资质 | JavaScript课程测验3 | 问题5

介绍

本题要求学员编写一个函数sumNumbers([num1, num2, ...]),输入为一个数字数组,输出为数组中所有数字的和。该问题可以使用循环遍历数组求和或者使用reduce函数求和的方式来解决。

示例
sumNumbers([1, 2, 3]); // 6
sumNumbers([10, 12, 18]); // 40
sumNumbers([-5, 10, 3, -2]); // 6
解题思路
循环遍历数组

使用for循环遍历数组,对每个数字进行求和,最后返回总和。

function sumNumbers(arr) {
  let result = 0;
  for (let i = 0; i < arr.length; i++) {
    result += arr[i];
  }
  return result;
}
使用reduce函数

也可以使用数组的reduce函数来求和,reduce函数接收一个回调函数,该函数接收一个“累加器”和当前元素作为参数,每次处理一个元素,并将返回值作为下一次处理的“累加器”,最终得到一个单一的值。

function sumNumbers(arr) {
  return arr.reduce((acc, cur) => acc + cur, 0);
}
总结

使用循环遍历数组和使用reduce函数求解数组中所有数字的和,两种方式代码风格不同,但都能得到正确的答案。在实际使用过程中,需要根据具体业务场景和性能要求来选择合适的方法。