// 写对象属性名去重的方法;
// 面试题2
// 实现去重
let arr1 = [{a:1,b:2},{a:3,b:4},{a:1,b:2},{a:1,b:4},{b:2,a:1}];
// 分析 : 1. 数组中每一项只有两个键值对;键值对的属性名都是a和b;
// 2. 只需要确保a和b的属性值相同;说明该项是重复项;
let obj = {};
for(let i=0;i<arr1.length;i++){
let cur = arr1[i];
if(obj[cur.a+","+cur.b]){// 取值
arr1.splice(i,1);
i--;
continue;
}
obj[cur.a+""+cur.b] = true;
}
// 采用双循环去重;
console.log(obj)
复制代码
转载于:https://juejin.im/post/5c85e7c1f265da2da955ec63