本文介绍如何正确使用 javascript 的 `reduce()` 方法对数组元素求和,包括函数定义、参数传递和常见错误修正,适合初学者掌握基础数组操作。
在 JavaScript 中,若想对数组所有元素执行累加运算,最简洁、标
准的方式是使用内置的 Array.prototype.reduce() 方法。它接收一个“累加器函数”和可选的初始值,逐个遍历数组元素,将上一次计算结果与当前元素结合,最终返回单一汇总值。
你原始代码中存在几个关键问题:
✅ 正确写法如下:
let numbers = [12, 23, 34];
function getSum(total, num) {
return total + num;
}
console.log(numbers.reduce(getSum)); // 输出:69你也可以使用箭头函数简化写法:
const numbers = [12, 23, 34]; console.log(numbers.reduce((sum, num) => sum + num)); // 输出:69
⚠️ 注意事项:
console.log([].reduce((a, b) => a + b, 0)); // 输出:0
总结:掌握 reduce() 的核心在于理解其“状态传递”机制——每一次调用都把上次结果带入下一次,无需手动索引或预定义变量。这是函数式编程的基础思想,也是处理数组聚合操作(求和、乘积、最大值等)的推荐实践。