ES6-js计算数组中重复元素的个数(包括对象数组)


普通数组

var arr=[1,1,2,3];
var newArr = [...new Set(arr)];  // 对原始数组去重
var list = [];
newArr.forEach(i => {
    list.push(arr.filter(t => t === i));
})
var mlist = [];
list.forEach((i, index) => {
    mlist.push({
        name: newArr[index],
        num: i.length,
    })
})
console.log(list, mlist)  // mlist将以数组的形式输出结果,如下图

对象数组

var arr=[{nam:'张三', age: '14'}, {nam:'李四', age: '16'}, {nam:'张三', age: '14'}, {nam:'赵武', age: '14'}];
var newArr = [...new Set(arr.map(i => i.nam))]; // 去重的时候需要注意和普通数组不同
console.log(newArr);
var list = [];
newArr.forEach(i => {
    list.push(arr.filter(t => t.nam === i));
})
var mlist = [];
list.forEach((i, index) => {
    mlist.push({
        name: newArr[index],
        num: i.length,
    })
})
console.log(list, mlist);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM