reduce方法和for还不大一样,可以理解成一个特殊的迭代器。
代码示例:pre第一次是默认值第一个,然后就是 return返回值:
xxx.reduce((pre,num)=>{
return pre+num
})
实用举例:
let arr = ['name','age','long','short','long','name','name']
let arrResult = arr.reduce((pre,cur) =>{
console.log(pre,cur)
if(cur in pre){
pre[cur]++
}else{
pre[cur] = 1
}
return pre
},{})
console.log(arrResult)//结果:{name: 3, age: 1, long: 2, short: 1}
更详细的说明参见文章:
https://www.jianshu.com/p/e375ba1cfc47