ES6使用Set数据结构实现数组的交集、并集、差集功能示例


Posted in Javascript onOctober 31, 2017

本文实例讲述了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的程序设计有所帮助。

Javascript 相关文章推荐
Jquery获取复选框被选中值的简单方法
Jul 04 Javascript
Jquery封装tab自动切换效果的具体实现
Jul 13 Javascript
封装了一个支持匿名函数的Javascript事件监听器
Jun 05 Javascript
jQuery中animate用法实例分析
Mar 09 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
Sep 27 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
JavaScript设计模式之工厂模式简单实例教程
Jul 03 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 Javascript
微信小程序的授权实现过程解析
Aug 02 Javascript
vue 使用lodash实现对象数组深拷贝操作
Sep 10 Javascript
html中两种获取标签内的值的方法
Jun 16 jQuery
Vue实战之vue登录验证的实现代码
Oct 31 #Javascript
jQuery ajax读取本地json文件的实例
Oct 31 #jQuery
ES6解构赋值的功能与用途实例分析
Oct 31 #Javascript
js原生日历的实例(推荐)
Oct 31 #Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 #Javascript
详解RequireJs官方使用教程
Oct 31 #Javascript
React Native中导航组件react-navigation跨tab路由处理详解
Oct 31 #Javascript
You might like
php读取文件内容的几种方法详解
2013/06/26 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
js更优雅的兼容
2010/08/12 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
python的re模块应用实例
2014/09/26 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
Python实现FTP文件传输的实例
2019/07/07 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
Python使用re模块验证危险字符
2020/05/21 Python
聊聊python中的异常嵌套
2020/09/01 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
创业者是否需要商业计划书?
2014/02/07 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
靠谱准确的求职信
2019/04/02 职场文书