常用的集合运算
前端常用的集合运算:交集,差集,并集,补集
定义
假设两个集合 A/B 为目标集合
集合类型 | 英文 | 解释(自己的解释) |
---|---|---|
并集 | union | A 与 B 合并,并去重后的集合 |
交集 | intersect | A 和 B 中都含有的元素 |
补集(余集) | complement | A 和 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);