常用的集合运算

前端常用的集合运算:交集,差集,并集,补集
更新于: 2022-01-14 14:53:48

定义

假设两个集合 A/B 为目标集合

集合运算示意图
集合类型英文解释(自己的解释)
并集 unionA 与 B 合并,并去重后的集合
交集intersectA 和 B 中都含有的元素
补集(余集)complementA 和 B并集 - A 和 B交集
差集except(minus)A 叉 B:A 中含有,B 中不含有的元素集合
B 叉 A:B 中含有,A 中不含有的元素集合

利用 JS 的实现

var a = [1,2,3,4,5]
var b = [2,4,6,8,10]
 
//交集
var c = a.filter(function(v){ return b.indexOf(v) > -1 })
 
//差集
var d = a.filter(function(v){ return b.indexOf(v) == -1 })
 
//补集
var e = a.filter(function(v){ return !(b.indexOf(v) > -1) })
        .concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}))
 
//并集
var f = a.concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}));
 
console.log("数组a:", a);
console.log("数组b:", b);
console.log("a与b的交集:", c);
console.log("a与b的差集:", d);
console.log("a与b的补集:", e);
console.log("a与b的并集:", f);
实现结果截图

参考