提取对象数组的公共元素
Posted qianyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提取对象数组的公共元素相关的知识,希望对你有一定的参考价值。
例如:var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
要求输出 [{a:1},{a:2}]
//方法一
var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
var result1 = [];
var obj = {};
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i].a]) {
obj[arr[i].a] = true;
} else {
result1.push(arr[i]);
}
}
console.log("result ---- 1", result1);
//方法二
var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
const res = new Map();
let result2 = [];
arr.filter(item => {
res.has(item.a) ? result2.push(item) : res.set(item.a, 1);
});
console.log("result ---- 2", result2);
//方法三
var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
const map = new Map();
let result3 = new Set();
arr.filter(item => {
map.has(item.a) ? result3.add(item) : map.set(item.a, 1);
});
console.log("result ---- 3", [...result3]);
以上是关于提取对象数组的公共元素的主要内容,如果未能解决你的问题,请参考以下文章