在JavaScript里,计算数组元素总和是一个非常常见的需求,比如统计订单金额、求平均分或者累加接口返回的数据。下面介绍几种实用的实现方式,从最基础的循环到更简洁的函数式写法都有覆盖。

使用for循环求和
这是最直观的做法,适合刚接触JavaScript的朋友理解底层逻辑。
var arr = [10, 20, 30, 40];
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i]; // 把每个元素加到sum上
}
console.log(sum); // 输出100
使用forEach方法
forEach是数组提供的遍历方法,比for循环写起来更简洁一些。
var arr = [5, 15, 25];
var sum = 0;
arr.forEach(function(item) {
sum += item;
});
console.log(sum); // 输出45
使用reduce方法
reduce是处理数组求和最推荐的方式,它把数组归纳为单个值,语义清晰。
var arr = [1, 2, 3, 4];
var sum = arr.reduce(function(total, current) {
return total + current;
}, 0);
console.log(sum); // 输出10
也可以用箭头函数让代码更短:
var arr = [1, 2, 3, 4]; var sum = arr.reduce((t, c) => t + c, 0); console.log(sum);
处理包含非数字元素的数组
如果数组里混入了字符串或其他类型,直接加会得到NaN,需要先过滤。
var arr = [1, '2', 3, null, 4];
var sum = arr
.filter(function(x) { return typeof x === 'number'; })
.reduce(function(t, c) { return t + c; }, 0);
console.log(sum); // 输出8
几种方式对比
| 方式 | 可读性 | 适用场景 |
|---|---|---|
| for循环 | 一般 | 教学或老旧环境 |
| forEach | 较好 | 简单遍历累加 |
| reduce | 好 | 大多数业务求和 |
总的来说,日常开发中优先用reduce来计算数组元素总和,遇到脏数据记得先过滤再累加。
JavaScript数组求和reduce方法修改时间:2026-07-30 04:48:21