1.普通數(shù)組
var arr=[1,1,2,3];
var newArr = [...new Set(arr)]; // 對(duì)原始數(shù)組去重
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將以數(shù)組的形式輸出結(jié)果,如下圖

普通數(shù)組
2.對(duì)象數(shù)組
var arr=[{nam:'張三', age: '14'}, {nam:'李四', age: '16'}, {nam:'張三', age: '14'}, {nam:'趙武', age: '14'}];
var newArr = [...new Set(arr.map(i => i.nam))]; // 去重的時(shí)候需要注意和普通數(shù)組不同
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);

對(duì)象數(shù)組