js实现累加
使用循环实现累加
通过循环可以逐个累加数组中的元素。以下是使用 for 循环的示例:
function sumWithLoop(arr) {
let total = 0;
for (let i = 0; i < arr.length; i++) {
total += arr[i];
}
return total;
}
const numbers = [1, 2, 3, 4, 5];
console.log(sumWithLoop(numbers)); // 输出: 15
使用 reduce 方法实现累加
Array.prototype.reduce 是专为累加操作设计的高阶函数,简洁高效:
const sumWithReduce = (arr) => arr.reduce((acc, curr) => acc + curr, 0);
console.log(sumWithReduce([1, 2, 3, 4])); // 输出: 10
递归实现累加
递归方式适合函数式编程场景,但需注意栈溢出风险:
function sumRecursive(arr, index = 0) {
return index >= arr.length ? 0 : arr[index] + sumRecursive(arr, index + 1);
}
console.log(sumRecursive([10, 20, 30])); // 输出: 60
使用 eval 动态计算(慎用)
通过字符串拼接生成表达式,适用于特殊场景但不推荐常规使用:

const numbers = [1, 3, 5, 7];
const sumEval = eval(numbers.join('+'));
console.log(sumEval); // 输出: 16
性能优化建议
- 大数据集优先选择
reduce或循环,避免递归 - 类型安全检查可添加
Number.isFinite验证 - Web Worker 可分割计算任务处理超大规模数据






