继,写上一篇文章《理解ES6中的Set结构》的最后,在归纳总结知识点的时候,正好看见了一个使用【ES6数组的扩展】中的相关知识,实现“求两个集合的并集,交集和差集”的方法。
很简单,实现方法如下:
let a = new Set([1, 2, 3]); let b = new Set([4, 3, 2]); // 并集 let union = new Set([...a, ...b]); console.log(union); // Set(4) {1, 2, 3, 4} // 交集 let intersect = new Set([...a].filter(x => b.has(x))); console.log(intersect); // Set(2) {2, 3} // 差集 let difference = new Set([...a].filter(x => !b.has(x))); console.log(difference); // Set(1) {1}