ES6 Set数据结构实现数组交集、并集与差集详解

作者:木棉

时间:2026-10-22

浏览:457

本文介绍ES6中新增的Set数据结构,其成员值唯一。利用Set特性及扩展运算符、filter等方法,可简洁实现数组的交集、并集和差集运算。文中提供具体代码示例及Set遍历方法说明,帮助开发者掌握相关技巧。

文章目录

ES6 Set数据结构简介

本文通过实例演示如何利用ES6中的Set数据结构来计算数组之间的交集、并集和差集,供读者参考学习。

Set是ES6标准新增的一种数据结构,其特性类似于数组,但核心区别在于Set内部的成员值必须是唯一的,不允许存在重复值。

Set本身是一个构造函数,主要用于生成Set类型的数据结构实例。

Set的遍历方法

Set数据结构的实例提供了四种遍历方法,用于访问其内部成员。

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规范进行程序设计的开发者有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章