js 实现累加
使用循环实现累加
通过 for 循环或 while 循环可以轻松实现数组或数字的累加。以下是一个使用 for 循环累加数组元素的示例:
function sumArray(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(sumArray(numbers)); // 输出: 15
使用 reduce 方法实现累加
JavaScript 的 Array.prototype.reduce 方法是实现累加的高效方式,特别适合处理数组求和:
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出: 15
reduce 方法的第二个参数 0 是初始值,可以根据需求调整。
递归实现累加
递归也可以用于累加,尤其是在函数式编程中:
function recursiveSum(arr, index = 0, total = 0) {
if (index >= arr.length) return total;
return recursiveSum(arr, index + 1, total + arr[index]);
}
const numbers = [1, 2, 3, 4, 5];
console.log(recursiveSum(numbers)); // 输出: 15
累加数字范围
如果需要累加一定范围内的数字(如 1 到 n),可以使用数学公式或循环:
// 使用数学公式
function sumRange(n) {
return (n * (n + 1)) / 2;
}
console.log(sumRange(5)); // 输出: 15
// 使用循环
function sumRangeLoop(n) {
let total = 0;
for (let i = 1; i <= n; i++) {
total += i;
}
return total;
}
console.log(sumRangeLoop(5)); // 输出: 15
累加对象属性
如果需要累加对象数组中的某个属性值,可以结合 reduce 方法:

const items = [
{ name: 'A', value: 10 },
{ name: 'B', value: 20 },
{ name: 'C', value: 30 }
];
const totalValue = items.reduce((sum, item) => sum + item.value, 0);
console.log(totalValue); // 输出: 60
以上方法覆盖了常见的累加需求,可以根据具体场景选择合适的方式。






