使用filter及concat配合indexOf实现集合运算

var a = [1,2,3,4,5]
var b = [2,4,6,8,10]
// a与b的交集 = [2,4]
var c = a.filter(function(v){ return b.indexOf(v) > -1 })
// a-b 差集 = [1,3,5]
var d = a.filter(function(v){ return b.indexOf(v) == -1 })
// 补集,在a中有,而b中没有的集合= [1,3,5,6,8,10]
var e = a.filter(function(v){ return !(b.indexOf(v) > -1) }).concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}))
// a与b的并集 = [1,2,3,4,5,6,8,10]
var f = a.concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}));
发布了88 篇原创文章 · 获赞 3 · 访问量 5488

猜你喜欢

转载自blog.csdn.net/youlinhuanyan/article/details/103681081