var arr1 = [{ id: 1, name: 'a' }, { id: 2, name: 'b' }, { id: 3, name: 'c' }, { id: 4, name: 'd' }, { id: 5, name: 'e' }, { id: 6, name: 'f' }]; var arr2 = [{ id: 1, name: 'a' }, { id: 4, name: 'd' }, { id: 7, name: 'g' }];两个数组 arr1 和 arr2 求他们中 id 相同的项。有什么最优的方案吗?
4 回答

牧羊人nacy
TA贡献1862条经验 获得超7个赞
提供一个用 Set 求交集的方法:
arr1 = new Set(arr1.map(i => i.id));
arr2 = new Set(arr2.map(i => i.id));
let intersectionSet = new Set([...arr1].filter(x => arr2.has(x)));
console.log(intersectionSet);
添加回答
举报
0/150
提交
取消