个人笔记1:统计数组中各个元素的出现的次数

171 阅读1分钟

三种方法

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}