js实现sum方法
实现基本的数组求和
使用 reduce 方法对数组元素进行累加:
const sum = (arr) => arr.reduce((acc, curr) => acc + curr, 0);
处理非数值类型
添加类型检查确保只计算数字类型:
const sum = (arr) => arr.reduce(
(acc, curr) => acc + (typeof curr === 'number' ? curr : 0),
0
);
支持多层嵌套数组
通过递归实现嵌套数组求和:
const sum = (arr) => arr.reduce(
(acc, curr) => acc + (Array.isArray(curr) ? sum(curr) : typeof curr === 'number' ? curr : 0),
0
);
添加边界条件处理
完善输入校验和边界情况处理:
const sum = (arr) => {
if (!Array.isArray(arr)) return 0;
return arr.reduce(
(acc, curr) => acc + (Array.isArray(curr) ? sum(curr) : Number(curr) || 0),
0
);
};
性能优化版本
针对大型数组的优化实现:
const sum = (arr) => {
let total = 0;
for (let i = 0; i < arr.length; i++) {
const val = arr[i];
total += Array.isArray(val) ? sum(val) : Number(val) || 0;
}
return total;
};






