ES6 中的 Set 数据结构详解及使用示例

在 ES6 中,新增了一种数据结构 Set,它类似于数组,但是成员的值都是唯一的。本文将详细介绍 Set 数据结构的特点、常用方法及使用示例,帮助读者更好地理解和运用这种数据结构。

Set 数据结构的特点

Set 数据结构类似于数组,但是它的成员都是唯一的,没有重复的值。另外,Set 中的成员可以是任意类型的,包括基本类型和对象类型。Set 内部使用严格相等运算符(===)判断两个值是否相等,所以 NaN 等于自身,而两个对象总是不相等的。

Set 实例有以下特点:

  • Set.prototype.constructor:构造函数,默认就是 Set 函数。
  • Set.prototype.size:返回 Set 实例的成员总数。
  • Set.prototype.add(value):添加某个值,返回 Set 结构本身。
  • Set.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
  • Set.prototype.has(value):返回一个布尔值,表示该值是否为 Set 的成员。
  • Set.prototype.clear():清除所有成员,没有返回值。

Set 常用方法

添加元素

可以使用 add 方法向 Set 实例中添加元素,示例如下:

删除元素

可以使用 delete 方法删除 Set 实例中的元素,示例如下:

判断元素是否存在

可以使用 has 方法判断 Set 实例中是否存在某个元素,示例如下:

清空 Set 实例

可以使用 clear 方法清空 Set 实例中的所有元素,示例如下:

遍历 Set 实例

可以使用 for...of 循环遍历 Set 实例中的所有元素,示例如下:

Set 使用示例

数组去重

Set 数据结构可以用于数组去重,示例如下:

字符串去重

Set 数据结构也可以用于字符串去重,示例如下:

Set 与数组的转换

Set 数据结构与数组之间可以相互转换,示例如下:

总结

Set 数据结构是 ES6 中新增的一种数据结构,它类似于数组,但是成员的值都是唯一的。Set 内部使用严格相等运算符(===)判断两个值是否相等,所以 NaN 等于自身,而两个对象总是不相等的。Set 实例有添加元素、删除元素、判断元素是否存在、清空 Set 实例等常用方法。Set 数据结构可以用于数组去重、字符串去重、Set 与数组的转换等场景。掌握 Set 数据结构的特点、常用方法及使用示例,对提高 JavaScript 编程效率和代码质量都有很大的帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/655da5dbd2f5e1655d7ea8f2


纠错
反馈