/**
* 根据数组中对象的id属性去重。
* 前后两个id属性相同的对象,去重后,第二个对象被忽略。
*
* @param objArr 对象数组,对象必须有非空的id属性
* @returns 去重后对象数据
*/
unique(objArr) {
const res = new Map();
return objArr.filter((objArr) => !res.has(objArr.id) && res.set(objArr.id, 1));
}
test() {
let arr = [
{
id: 1,
name: '张三'
},
{
id: 1,
name: '李四'
},
{
id: 2,
name: '王五'
},
{
id: 3,
name: '周六'
}
];
arr = this.unique(arr);
console.dir(arr);
}
输出:
[
{
"id": 1,
"name": "张三"
},
{
"id": 2,
"name": "王五"
},
{
"id": 3,
"name": "周六"
}
]