一、普通数组求和
1. 使用reduce()进行求和(推荐)
reduce() 方法是es6新增的,参数接收一个方法,作为累加器。
const arr = [10,20,30,40,50]
function sum(arr){
return arr.reduce((prev,cur)=> prev+cur)
}
sum(arr) // =>150
2. 使用forEach()进行求和
const arr = [10,20,30,40,50]
function sum(arr){
let total = 0
arr.forEach(num=>{
total += num
})
return total
}
sum(arr) // =>150
3. 使用for进行求和
与forEach()一样
const arr = [10,20,30,40,50]
function sum(arr){
let total = 0
for(let i=0;i<arr.length;i++){
total+=arr[i]
}
return total
}
sum(arr) // =>150
4. 使用eval()进行求和
const arr = [10,20,30,40,50]
function sum(arr){
return eval(arr.join("+"))
}
sum(arr) // =>150
二、对象数组中求和
1. 使用reduce
与普通数组求和不一样的是,对象数组求和需要传第二个参数,将首次执行的prev设置为0,而不是默认的第一个元素
const arr = [{name:'A',age:10},{name:'B',age:20},{name:'C',age:30}]
function sum(arr){
return arr.reduce((prev,cur)=>{
return prev+ cur.age
},0)
}
sum(arr) // =>60
完结