在 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