js实现sum
JavaScript 实现 sum 函数
在 JavaScript 中,实现一个 sum 函数可以通过多种方式完成,具体取决于需求场景(如数组求和、多个参数求和等)。以下是几种常见的实现方法:
数组求和
若需求是对数组中的数字求和,可以使用以下代码:
function sum(arr) {
return arr.reduce((acc, curr) => acc + curr, 0);
}
示例调用:

const numbers = [1, 2, 3, 4];
console.log(sum(numbers)); // 输出: 10
多参数求和
若需求是直接对多个参数求和(非数组形式),可以使用 arguments 或剩余参数:
function sum(...args) {
return args.reduce((acc, curr) => acc + curr, 0);
}
示例调用:

console.log(sum(1, 2, 3, 4)); // 输出: 10
处理非数字输入
若需要处理可能存在的非数字输入(如字符串数字),可添加类型转换:
function sum(...args) {
return args.reduce((acc, curr) => acc + Number(curr), 0);
}
示例调用:
console.log(sum(1, '2', 3)); // 输出: 6
递归实现
递归方式适用于学习场景,但实际项目中较少使用:
function sum(arr, index = 0) {
if (index >= arr.length) return 0;
return arr[index] + sum(arr, index + 1);
}
注意事项
- 若数组中包含非数字值(如
null或对象),需额外处理,否则会得到意外结果(如[1, 2, null]求和结果为3null)。 - 大数组求和时,递归可能导致栈溢出,建议使用迭代方法(如
reduce)。






