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子元素过滤选择器使用示例
Jun 24 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
JQuery实现图片轮播效果
Sep 15 Javascript
实例讲解jquery中mouseleave和mouseout的区别
Feb 17 Javascript
BOM系列第二篇之定时器requestAnimationFrame
Aug 17 Javascript
bootstrap fileinput完整实例分享
Nov 08 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
Nov 27 Javascript
详解node Async/Await 更好的异步编程解决方案
May 10 Javascript
解决vue项目使用font-awesome,build后路径的问题
Sep 01 Javascript
vue实现抖音时间转盘
Sep 08 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 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生成PDF方法详解
2015/01/23 PHP
Laravel5中contracts详解
2015/03/02 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
php微信开发接入
2016/08/27 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
js 字符串操作函数
2009/07/25 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
python素数筛选法浅析
2018/03/19 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
大学生校园创业计划书
2014/02/08 职场文书
大学生见习报告范文
2014/11/03 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
Python中如何处理常见报错
2022/01/18 Python
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python