js实现sum方法
实现数组求和的基本方法
使用 reduce 方法对数组元素进行累加:
const sum = (arr) => arr.reduce((acc, curr) => acc + curr, 0);
处理非数组或空数组的情况
增加类型校验和空数组处理逻辑:
const sum = (arr) => {
if (!Array.isArray(arr)) throw new Error('Input must be an array');
return arr.length === 0 ? 0 : arr.reduce((acc, curr) => acc + curr, 0);
};
支持多维数组求和
通过递归实现多维数组求和:

const sum = (arr) => {
return arr.reduce((acc, curr) => {
return acc + (Array.isArray(curr) ? sum(curr) : curr);
}, 0);
};
添加数值类型校验
确保只对数字类型进行求和:
const sum = (arr) => {
return arr.reduce((acc, curr) => {
const num = parseFloat(curr);
return acc + (isNaN(num) ? 0 : num);
}, 0);
};
性能优化版本
针对大型数组的优化实现:

const sum = (arr) => {
let total = 0;
for (let i = 0; i < arr.length; i++) {
total += arr[i] || 0;
}
return total;
};
支持链式调用的实现
扩展数组原型实现链式调用:
Array.prototype.sum = function() {
return this.reduce((acc, curr) => acc + curr, 0);
};
使用时直接调用:
[1, 2, 3].sum(); // 返回6






