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 相关文章推荐
JS 图片缩放效果代码
Jun 09 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
Javascript 数组排序详解
Oct 22 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
JavaScript表单验证的两种实现方法
Feb 11 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
Jun 17 Javascript
示例vue 的keep-alive缓存功能的实现
Dec 13 Javascript
Vue监听页面刷新和关闭功能
Jun 20 Javascript
ZK中使用JS读取客户端txt文件内容问题
Nov 07 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 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
php5.2.0内存管理改进
2007/01/22 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
node.js实现端口转发
2016/04/14 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
Python异常处理知识点总结
2019/02/18 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
django 外键创建注意事项说明
2020/05/20 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
数据库方面面试题
2012/04/22 面试题
幼儿园中班教师寄语
2014/04/03 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技