本文实例讲述了ES6使用Set数据结构实现数组的交集、并集、差集功能。分享给大家供大家参考,具体如下:
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);
更多相关内容可查看本站专题:《ECMAScript6(ES6)入门教程》、《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript错误与调试技巧总结》及《javascript面向对象入门教程》
希望本文所述对大家基于ECMAScript的程序设计有所帮助。