美文网首页
利用Set实现数组的并集(Union)、交集(Intersect

利用Set实现数组的并集(Union)、交集(Intersect

作者: 小龙虾Julian | 来源:发表于2018-08-27 16:52 被阅读0次

首先回顾一下并集、交集、差集的定义:
(1)并集:以属于A或属于B的元素为元素的集合成为A与B的并(集)
(2)交集:以属于A且属于B的元素为元素的集合成为A与B的交(集)
(3)差集:以属于A而不属于B的元素为元素的集合成为A与B的差(集)

let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);

// 并集
let union = new Set([...a, ...b]);
console.log(union);// Set {1, 2, 3, 4}

// 交集
let intersect = new Set([...a].filter(x => b.has(x)));
console.log(intersect);// Set {2, 3}

// 差集
let difference = new Set([...a].filter(x => !b.has(x)));
console.log(difference);// Set {1}

let difference = new Set([...b].filter(x => !a.has(x)));
console.log(difference);// Set {4}

相关文章

网友评论

      本文标题:利用Set实现数组的并集(Union)、交集(Intersect

      本文链接:https://www.haomeiwen.com/subject/fxjtwftx.html