ES6中的reduce方法,是一种数组的归并方法。他的每一次遍历后的值会留给下一次继续遍历。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let arr5 = ['name','age','long','short','long','name','name'] 
//pre第一次的值,cur当前值 {}标识pre的预设值
let arrResult1 = arr.reduce((pre,cur) =>{
console.log(pre,cur)
if(cur in pre){
pre[cur]++
}else{
pre[cur] = 1
}
return pre
},{})

console.log(arrResult1)//结果:{name: 3, age: 1, long: 2, short: 1}

image

详细使用方法