js实现累加
使用循环实现累加
通过循环遍历数组或数字序列,逐一相加实现累加功能。以下是常见的循环方法:
for循环示例:
function sumWithForLoop(arr) {
let total = 0;
for (let i = 0; i < arr.length; i++) {
total += arr[i];
}
return total;
}
console.log(sumWithForLoop([1, 2, 3, 4])); // 输出10
while循环示例:
function sumWithWhileLoop(arr) {
let total = 0;
let i = 0;
while (i < arr.length) {
total += arr[i];
i++;
}
return total;
}
使用数组reduce方法
利用数组的reduce方法可以更简洁地实现累加:
const sumWithReduce = arr => arr.reduce((acc, curr) => acc + curr, 0);
console.log(sumWithReduce([5, 10, 15])); // 输出30
递归实现累加
通过函数递归调用实现累加运算:
function recursiveSum(arr, index = 0) {
return index >= arr.length ? 0 : arr[index] + recursiveSum(arr, index + 1);
}
console.log(recursiveSum([2, 4, 6])); // 输出12
数字序列累加
针对连续数字序列(如1到n的累加),可使用数学公式优化:
// 数学公式法 (n*(n+1))/2
const sumToN = n => n * (n + 1) / 2;
console.log(sumToN(100)); // 输出5050
带条件的累加
在累加过程中加入条件判断:

function conditionalSum(arr, conditionFn) {
return arr.reduce((sum, num) => conditionFn(num) ? sum + num : sum, 0);
}
// 示例:累加所有偶数
console.log(conditionalSum([1, 2, 3, 4], n => n % 2 === 0)); // 输出6
注意事项
- 处理大数时注意JavaScript的数字精度限制(最大安全整数为
9007199254740991) - 空数组求和时应返回0而非
undefined - 非数值元素会导致
NaN结果,建议先进行类型检查






