第一种:通过判断数组中当前元素的下标与该元素第一次出现在数组中的下标是否一致来进行数组去重
let arr = [
{id: 1,name: '第一'},
{id: 2,name: '第二'},
{id: 3,name: '第三'},
{id: 1,name: '第一'},
{id: 2,name: '第二'}
];
let newArr = arr.filter((currentValue, currentIndex, sourceArr) = >{
return sourceArr.findIndex(x = >x.id === currentValue.id) === currentIndex
});
console.log(newArr);
第二种:利用es6的new Map()的has属性进行筛选赋值
function unRepeat(arr) {
const res = new Map();
return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
}