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的程序设计有所帮助。

相关文章

  • es6函数之尾调用优化实例分析

    es6函数之尾调用优化实例分析

    这篇文章主要介绍了es6函数之尾调用优化,结合实例形式分析了es6函数尾调用优化相关功能、原理、实现方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • JavaScript事件循环及宏任务微任务原理解析

    JavaScript事件循环及宏任务微任务原理解析

    这篇文章主要介绍了JavaScript事件循环及宏任务微任务原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • js实现中文实时时钟

    js实现中文实时时钟

    这篇文章主要为大家详细介绍了js实现中文实时时钟,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • ES6中非常实用的新特性介绍

    ES6中非常实用的新特性介绍

    ECMAScript 6离我们越来越近了,作为它最重要的方言,Javascript也即将迎来语法上的重大变革,InfoQ特开设“深入浅出ES6”专栏,来看一下ES6将给我们带来哪些新内容
    2016-03-03
  • JavaScript中实现继承的三种方式和实例

    JavaScript中实现继承的三种方式和实例

    这篇文章主要介绍了JavaScript中实现继承的三种方式和实例,本文讲解了类式继承、原型式继承、使用扩充方法实现多重继承三种方式,需要的朋友可以参考下
    2015-01-01
  • 可选择和输入的下拉列表框示例

    可选择和输入的下拉列表框示例

    如果想实现可选择和输入的下拉列表框,那么下面有个不错的示例,希望大家可以参考下
    2013-11-11
  • javascript for-in有序遍历json数据并探讨各个浏览器差异

    javascript for-in有序遍历json数据并探讨各个浏览器差异

    这篇文章主要介绍了javascript for-in有序遍历json数据并探讨各个浏览器差异的相关资料,需要的朋友可以参考下
    2015-11-11
  • 深入理解JS中的微任务和宏任务的执行顺序及应用场景

    深入理解JS中的微任务和宏任务的执行顺序及应用场景

    JavaScript中的任务分为宏任务和微任务,它们的执行顺序会影响代码的执行结果。了解它们的机制可以帮助我们更好地理解事件循环和异步编程,避免出现一些意想不到的错误
    2023-05-05
  • JS中封装axios来管控api的2种方式

    JS中封装axios来管控api的2种方式

    这篇文章主要介绍了封装axios来管控api的2种方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • JavaScript定时器setTimeout、setInterval使用详解

    JavaScript定时器setTimeout、setInterval使用详解

    网站开发过程中经常会用到各种各样的定时任务,这时我们会用到setTimeout和setInterval方法,下面这篇文章主要给大家介绍了关于JavaScript定时器setTimeout、setInterval使用的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论