三种方法
1,采用数组的filter方法
let arr = ['a','s','a','c','d','d','a','f','d','a'];
let obj = {};
arr.forEach(i=>{
obj[i] = arr.filter(x => i == x).length;
})
console.log(obj); //{a: 4, s: 1, c: 1, d: 3, f: 2}
2,根据对象的键名唯一性处理
let arr = ['a','s','a','c','d','d','a','f','d','a','f'];
let obj = {};
arr.forEach(i=>{
if(obj[i])
obj[i]++;
else
obj[i] = 1;
});
console.log(obj);//{a: 4, s: 1, c: 1, d: 3, f: 2}
3,采用reduce处理,设置reduce的初始值为空对象{}
let arr = ['a','s','a','c','d','d','a','f','d','a','f'];
const obj = arr.reduce((pre, cur)=>{
if(cur in pre){
pre[cur]++
}else{
pre[cur] = 1
}
return pre
},{})
console.log(obj);//{a: 4, s: 1, c: 1, d: 3, f: 2}