- var a = [1,2,3,4,5]
- var b = [2,4,6,8,10]
- console.log("数组 a:", a);
- console.log("数组 b:", b);
- var sa = new Set(a);
- var sb = new Set(b);
- // 交集
- let intersect = a.filter(x => sb.has(x));
- // 差集
- let minus = a.filter(x => !sb.has(x));
- // 补集
- let complement = [...a.filter(x => !sb.has(x)), ...b.filter(x => !sa.has(x))];
- // 并集
- let unionSet = Array.from(new Set([...a, ...b]));
- console.log("a 与 b 的交集:", intersect);
- console.log("a 与 b 的差集:", minus);
- console.log("a 与 b 的补集:", complement);
- console.log("a 与 b 的并集:", unionSet);
来源: http://www.jianshu.com/p/6cce8310d704