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 学习笔记(十三)Dom创建表格
Jan 21 Javascript
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
jquery js 获取时间差、时间格式具体代码
Jun 05 Javascript
JS实现时间格式化的方式汇总
Oct 16 Javascript
jquery中load方法的用法及注意事项说明
Feb 22 Javascript
jQuery中detach()方法用法实例
Dec 25 Javascript
jQuery原型属性和原型方法详解
Jul 07 Javascript
JS组件Bootstrap实现弹出框效果代码
Apr 26 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 Javascript
解决vue路由后界面没有变化,但是链接有的问题
Sep 01 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
浅谈微信小程序列表埋点曝光指南
Oct 15 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&MYSQL留言板源码
2020/07/19 PHP
PHP如何编写易读的代码
2007/07/10 PHP
PHP实现懒加载的方法
2015/03/07 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
jquery自定义表格样式
2015/11/23 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
Django 生成登陆验证码代码分享
2017/12/12 Python
Python之web模板应用
2017/12/26 Python
django query模块
2019/04/20 Python
Python 的AES加密与解密实现
2019/07/09 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Python的条件锁与事件共享详解
2019/09/12 Python
tensorflow多维张量计算实例
2020/02/11 Python
python 代码运行时间获取方式详解
2020/09/18 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
Python中如何定义一个函数
2016/09/06 面试题
酒店中秋节促销方案
2014/01/30 职场文书
项目经理任命书
2014/06/04 职场文书
亲属关系公证书样本
2015/01/23 职场文书
机动车交通事故协议书
2015/01/29 职场文书
学术会议通知范文
2015/04/15 职场文书
千手观音观后感
2015/06/03 职场文书
河童之夏观后感
2015/06/11 职场文书
大学生党课感想
2015/08/11 职场文书
linux目录管理方法介绍
2022/06/01 Servers
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL