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 相关文章推荐
Javascript 强制类型转换函数
May 17 Javascript
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
Oct 15 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
Javascript的表单验证-提交表单
Mar 18 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
js中this对象用法分析
Jan 05 Javascript
Vue隐藏显示、只读实例代码
Jul 18 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
Apr 15 Javascript
为react组件库添加typescript类型提示的方法
Jun 15 Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 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(5) 类和对象
2010/02/16 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
python基础教程之常用运算符
2014/08/29 Python
Python判断telnet通不通的实例
2019/01/26 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
Java程序员综合测试题
2014/04/25 面试题
开办化妆品公司创业计划书
2013/12/26 职场文书
上班上网检讨书
2014/01/29 职场文书
老师的检讨书
2014/02/23 职场文书
2014最新离职证明范本
2014/09/12 职场文书
优秀教师申报材料
2014/12/16 职场文书
大学生实习证明
2015/06/16 职场文书
《比的意义》教学反思
2016/02/18 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
Linux中各个目录的作用与内容
2022/06/28 Servers
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS