简单给大家分享一下利用map进行数组对象的去重方法;如有不正确的地方还请大家指正。
//第一步:定义数据
let data = [
{ id: 1, name: '小明' },
{ id: 2, name: '小红' },
{ id: 1, name: '小明' },
{ id: 2, name: '小红' }
];
//第二步:定义一个map对象
let map = new Map();
//第三步:利用for of 循环
for (const item of data) {
let v = { ...item }; //这里避免修改源对象
if (!map.has(v.id)) {
map.set(v.id, item); //利用has方法判断map对象是否存在,在利用set方法向map对象中添加数据,item就是我们需要的对象
}
}
//第四步:取到map对象的value值,转成真正的数组对象
let data1 = [...map.values()]; //利用values方法取到我们需要的数组对象,再利用...y运算符转成真正的数组对象
console.log(data1); //[{ id: 1, name: '小明'; },{ id: 2, name: '小红'; },];