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 相关文章推荐
为Extjs加加速(javascript加速)
Aug 19 Javascript
Three.js源码阅读笔记(光照部分)
Dec 27 Javascript
js构造函数、索引数组和属性的实现方式和使用
Nov 16 Javascript
js用拖动滑块来控制图片大小的方法
Feb 27 Javascript
javascript添加前置0(补零)的几种方法
Jan 05 Javascript
canvas绘制多边形
Feb 24 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
浅谈react前后端同构渲染
Sep 20 Javascript
新手简单了解vue
May 29 Javascript
jquery插件实现代码雨特效
Apr 24 jQuery
详解JS ES6编码规范
May 07 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
Python logging模块用法示例
2018/08/28 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
python实现微信自动回复机器人功能
2019/07/11 Python
用Python解数独的方法示例
2019/10/24 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
会计应届生的自荐信
2013/12/13 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
项目施工员岗位职责
2014/03/09 职场文书
委托书模板
2014/04/04 职场文书
幼儿评语大全
2014/04/30 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
Python学习开发之图形用户界面详解
2021/08/23 Python