let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
let nameNum = names.reduce((pre,cur)=>{
console.log(pre, cur, '00000')
// pre 中是否有 cur 属性
// if ( key in obj) 意思是 obj 中是否有 key 属性 ,有则返回 true, 没有则返回 false。
if(cur in pre){
pre[cur]++ // 如果有这个属性,给他数量++
}else{
pre[cur] = 1 // 为 pre 这个对象添加 cur 属性,并且赋值为 1
}
return pre
},{})
console.log(nameNum, 'nameNum');
// {} 'Alice' '00000'
// {Alice: 1} 'Bob' '00000'
// {Alice: 1, Bob: 1} 'Tiff' '00000'
// {Alice: 1, Bob: 1, Tiff: 1} 'Bruce' '00000'
// {Alice: 1, Bob: 1, Tiff: 1, Bruce: 1} 'Alice' '00000'
// {Alice: 2, Bob: 1, Tiff: 1, Bruce: 1} 'nameNum'