求数组的交集,并集,还有差集

最近在看阮一峰老师的《ES6 入门》
在看到Set数据结构实现数组的交集,并集还有差集,但是阮一峰老师实现差集貌似有点问题,特地来做下笔记:
const a = {fn: 1};
const set = new Set([1,1,2,2,3,4,5,5,5,a,’a’]);
const b = new Set([6,7,8,9,5,4,3,’a’,’v’]);
// 并集
const union = new Set([…set, …b]);

// 交集
const intersect = new Set([…set].filter(x => b.has(x)));

// 差集
const difference = new Set([union].filter(x => (!set.has(x) || !b.has(x))));
最后这条代码才能求到正确的差集

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理