📅  最后修改于: 2023-12-03 14:57:48.066000             🧑  作者: Mango
本题要求学员编写一个函数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函数接收一个回调函数,该函数接收一个“累加器”和当前元素作为参数,每次处理一个元素,并将返回值作为下一次处理的“累加器”,最终得到一个单一的值。
function sumNumbers(arr) {
return arr.reduce((acc, cur) => acc + cur, 0);
}
使用循环遍历数组和使用reduce函数求解数组中所有数字的和,两种方式代码风格不同,但都能得到正确的答案。在实际使用过程中,需要根据具体业务场景和性能要求来选择合适的方法。