js统计数组中重复最多得元素

215 阅读1分钟
let list = [
  {name:"1000积分",serialNumber:6},
  {name:"500积分",serialNumber:7},
  {name:"50积分",serialNumber:8},
  {name:"50积分",serialNumber:8},
  {name:"50积分",serialNumber:8}
];

怎么把list数组转化为
```
```
[
  {title:"1000积分",num:1},
  {title:"500积分",num:1},
  {title:"50积分",num:3}
]
//num:serialNumber相同的元素重复次数
```
let _res = [];
for(let i = 0; i < list.length;) {
    let count = 0;
    for(let j = i; j < list.length; j++) {
        if(list[i].serialNumber == list[j].serialNumber) {
            count++;
        }
    }
    let obj = {
        title:list[i].name,
        num:count
    }
    _res.push(obj)
    i += count;
}
console.log(_res)