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

系统管理员 2023-06-25 02:10 38阅读 0赞
  1. var a = [1,2,3,4,5]
  2. var b = [2,4,6,8,10]
  3. // a与b的交集 = [2,4]
  4. var c = a.filter(function(v){ return b.indexOf(v) > -1 })
  5. // a-b 差集 = [1,3,5]
  6. var d = a.filter(function(v){ return b.indexOf(v) == -1 })
  7. // 补集,在a中有,而b中没有的集合= [1,3,5,6,8,10]
  8. var e = a.filter(function(v){ return !(b.indexOf(v) > -1) }).concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}))
  9. // a与b的并集 = [1,2,3,4,5,6,8,10]
  10. var f = a.concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}));

关于 filter 的用法,总是会忘记filter中的回调函数的意思,这里记一下
filter的回调表示: 返回满足表达示的元素。

发表评论

表情:
评论列表 (有 0 条评论,38人围观)

还没有评论,来说两句吧...

相关阅读

    相关 实现集合运算

    ![70][] 如图,2棵树表示2个集合,用一个数组存储多棵树 注意:(1).用树表示集合,树的每一个节点代表集合中的一个元素,并且从上到下,从左到右放从小到大的元素 (