数组求和
常见方式
- 递归
- 循环
- 函数式编程
- eval
Show Code
递归
const _sum = (arr) => {
let _sumData = 0;
arr.forEach(i => {
_sumData += i;
});
return _sumData;
}
// test
console.log(_sum([1, 2, 3, 4])) // 10
循环
const _sum = (arr) => {
if(arr.length < 1) {
return arr[0] || 0
}else {
return arr[0] + _sum(arr.slice(1))
}
}
// test
console.log(_sum([1, 2, 3, 4])) // 10
函数式编程
const _sum = (arr) => {
return arr.reduce((pre, cur) => {
return pre + cur
}, 0)
}
// test
console.log(_sum([1, 2, 3, 4])) // 10
eval
const _sum = (arr) => {
return eval(arr.join('+'))
}
// test
console.log(_sum([1, 2, 3, 4])) // 10