Set数据结构实现数组的交集、并集、差集

来源:互联网 发布:java项目流程图 编辑:程序博客网 时间:2024/05/17 15:41

Set数据结构是es6中新增的,它类似于数组,但是成员的值唯一,没有重复值。
Set本身是一个数据结构,用来生成Set数据节后

Set数据结构的实例有4种遍历方法:
keys():返回一个键名的遍历器
values():返回一个键值便利器
entries():返回一个键值对便利器
forEach():使用回调函数遍历每个成员

由于Set数据结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys和values方法的行为完全一致。

因此使用Set可以容易的实现交集、并集、差集
先看看代码:

    let a=new Set([1,2,3]);    let b=new Set([4,3,2]);    //交集    let union= [...new Set([...a,...b])];    console.log(union);    //并集    let intersect= [...new Set([...a].filter(x=> b.has(x)))];    console.log(intersect);    //差集    let difference= [...new Set([...a].filter(x=> !b.has(x)))];    console.log(difference);
0 0
原创粉丝点击