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 相关文章推荐
Dom与浏览器兼容性说明
Oct 25 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
Aug 09 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
简化版手机端照片预览组件
Apr 13 Javascript
javascript中setInterval的用法
Jul 19 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
Apr 15 Javascript
微信小程序实现授权登录
May 15 Javascript
js实现转动骰子模型
Oct 24 Javascript
JavaScript实现移动端拖动元素
Nov 24 Javascript
基于javascript实现放大镜特效
Dec 03 Javascript
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/06 PHP
php常量详细解析
2015/10/27 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python实现在线音乐播放器
2017/03/03 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
Python骚操作之动态定义函数
2019/03/26 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python 瀑布线指标编写实例
2020/06/03 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
个人简历自我鉴定
2013/10/11 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
美术教学感言
2014/02/22 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
内勤岗位职责
2015/02/10 职场文书
创业计划书之家教托管
2019/09/25 职场文书