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 相关文章推荐
新增加的内容是如何将div的scrollbar自动移动最下面
Jan 02 Javascript
ExpressJS入门实例
Jan 14 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
js 实现一些跨浏览器的事件方法详解及实例
Oct 27 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
JS简单判断滚动条的滚动方向实现方法
Apr 28 Javascript
Node.js pipe实现源码解析
Aug 12 Javascript
angular.extend方法的具体使用
Sep 14 Javascript
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 Javascript
vue引入静态js文件的方法
Jun 20 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 动态生成静态HTML页面示例代码
2014/01/15 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
跟老齐学Python之print详解
2014/09/28 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
50道外企软件测试面试题
2014/08/18 面试题
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
学生干部的自我评价分享
2014/01/18 职场文书
施工安全标语
2014/06/07 职场文书
金融与证券专业求职信
2014/06/22 职场文书
教师演讲稿开场白
2014/08/25 职场文书
党性分析自查总结
2014/10/14 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
毕业典礼邀请函
2015/01/31 职场文书
西柏坡导游词
2015/02/05 职场文书
催款函范文
2015/06/24 职场文书
2015国庆节感想
2015/08/04 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers