ES6使用Set数据结构实现数组的交集、并集、差集功能示例

 更新时间:2017年10月31日 10:18:38   作者:juzipchy  
这篇文章主要介绍了ES6使用Set数据结构实现数组的交集、并集、差集功能,结合实例形式分析了ES6中Set数据结构的相关函数与实现数组交集、并集、差集的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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的程序设计有所帮助。

相关文章

  • 微信小程序实现简单秒表设计

    微信小程序实现简单秒表设计

    这篇文章主要为大家详细介绍了微信小程序实现简单秒表设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • JavaScript的Proxy对象详解

    JavaScript的Proxy对象详解

    这篇文章主要为大家介绍了JavaScript的Proxy对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • js this函数调用无需再次抓获id,name或标签名

    js this函数调用无需再次抓获id,name或标签名

    this就是你当前要执行的js所抓获的节点,这样在js里就可以不用document.getElement之类的写法来抓获id,name或标签名,具体示例如下
    2014-03-03
  • JavaScript encodeURI 和encodeURIComponent

    JavaScript encodeURI 和encodeURIComponent

    encodeURI和encodeURIComponet函数都是javascript中用来对URI进行编码,将相关参数转换成UTF-8编码格式的数据。URI在进行定位跳转时,参数里面的中文、日文等非ASCII编码都会进行编码转换
    2015-12-12
  • javascript 网页进度条简单实例

    javascript 网页进度条简单实例

    这篇文章主要介绍了javascript 网页进度条简单实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • three.js实现圆柱体

    three.js实现圆柱体

    这篇文章主要为大家详细介绍了three.js实现圆柱体的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • JavaScript中数组Array.sort()排序方法详解

    JavaScript中数组Array.sort()排序方法详解

    本篇文章主要介绍了JavaScript中数组Array.sort()的排序方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • 详解js中构造流程图的核心技术JsPlumb(2)

    详解js中构造流程图的核心技术JsPlumb(2)

    这篇文章主要介绍了js中构造流程图的核心技术JsPlumb,jsPlumb是一个强大的JavaScript连线库,它可以将html中的元素用箭头、曲线、直线等连接起来,适用于开发Web上的图表、建模工具等,需要的朋友可以参考下
    2015-12-12
  • echarts展示区域地图添加纹理图片操作指南

    echarts展示区域地图添加纹理图片操作指南

    这篇文章主要给大家介绍了关于echarts展示区域地图添加纹理图片操作的相关资料,ECharts地图组件支持使用图片作为地图区域的填充纹理,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • JavaScript的各种常见函数定义方法

    JavaScript的各种常见函数定义方法

    这篇文章主要介绍了JavaScript的各种常见函数定义方法,包含了一些技巧的测试与分析总结,需要的朋友可以参考下
    2014-09-09

最新评论