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 文件夹选择框的两种解决方案
Jul 01 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
Jun 11 Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
Jquery遍历节点的方法小集
Jan 22 Javascript
JavaScript验证图片类型(扩展名)的函数分享
May 05 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
bootstrap table操作技巧分享
Feb 15 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
ES6新特性五:Set与Map的数据结构实例分析
Apr 21 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
在react中使用vuex的示例代码
Jul 30 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截取中文字符串的问题
2006/07/12 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
初识Node.js
2015/03/20 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Python常用库大全及简要说明
2020/01/17 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
临床医师专业个人自我评价
2014/01/08 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
伊索寓言教学反思
2014/05/01 职场文书
节电标语大全
2014/06/23 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android