本文已参与「新人创作礼」活动,一起开启掘金创作之路
1、递归
function sum(arr) {
let add = function (index) {
return arr.length <= index ? 0 : arr[index] + add(index + 1)
}
return add(0)
}
2、使用数组的reduce方法
function sum(arr) {
return arr.reduce(function (pre, next) {
return pre + next
})
}
3、循环遍历
function forof(arr) {
var sum = 0
for (let val of arr) {
sum += val
}
return sum
}
function forin(arr) {
var sum = 0
for (let key in arr) {
sum += arr[key]
}
return sum
}
function each(arr) {
let sum = 0
arr.forEach((val) => {
sum += val
})
return sum
}
function loop(arr) {
let sum = 0
for (let i = 0; i < arr.length; i++) {
sum += arr[i]
}
return sum
}
这里主要是第一种方式(递归),比较难想到一点