console
const arrGroup = (arr, key) => {
let newArr = [];
let newObj = {};
let temp = {};
for (let i = 0; i < arr.length; i++) {
const item = arr[i];
if (temp.hasOwnProperty(item[key])) {
newArr.forEach(v => {
if (v.key === item[key]) {
v.list.push(item)
}
})
} else {
newObj = {
key: item[key],
list: [item]
}
temp[item[key]] = '0'
newArr.push(newObj)
}
}
return newArr;
};
const arr = [
{
id: 1,
name: '张三'
}, {
id: 1,
name: '李四',
}, {
id: 3,
name: '王五',
}
];
console.log(arrGroup(arr, 'id'))
<div class="tip">
<p class="title">防抖</p>
<div>
点击右下角
<span class="sp">Console</span>
查看运行结果
</div>
</div>
.tip {
background-color: rgba(174,220,174,0.25);
padding: 0.75rem;
border-left: 0.35rem solid;
border-radius: 0.25rem;
margin: 1.5rem 0;
font-size: 0.9rem;
border-color: #5cb85c;
}
.title {
font-size: 18px;
font-weight: bolder;
margin-top: 0;
}
.sp {
background: orange;
}