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 相关文章推荐
jquery getScript动态加载JS方法改进详解
Nov 15 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
可恶的ie8提示缺少id未定义
Mar 20 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
Apr 03 Javascript
javascript闭包的理解
Apr 01 Javascript
JavaScript数据库TaffyDB用法实例分析
Jul 27 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
浅谈vue项目4rs vue-router上线后history模式遇到的坑
Sep 27 Javascript
基于Node.js的大文件分片上传示例
Jun 19 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中实现获取随机数组列表的自定义函数
2015/04/02 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python中用format函数格式化字符串的用法
2015/04/08 Python
python简单实现刷新智联简历
2016/03/30 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Python三级菜单的实例
2017/09/13 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
python中什么是面向对象
2020/06/11 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
Python字典实现伪切片功能
2020/10/28 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
大韩航空官方网站:Korean Air
2017/10/25 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
细节决定成败演讲稿
2014/05/12 职场文书
长江三峡导游词
2015/01/31 职场文书