Set 是 ES6 中新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。
创建 Set
创建 Set 可以使用以下两种方式:
-- ------ --- ------ --- ----- ---- - --- ------- -- ---- ------------------ -- --- --- -- -- -- ------ ------------------- ------ ----- ---- - --- ------ ------------ ------------ ------------ ------------------ -- --- --- -- --
Set 的属性和方法
属性
Set.prototype.size
:返回 Set 实例的成员总数。
方法
Set.prototype.add(value)
:添加某个值,返回 Set 结构本身。Set.prototype.delete(value)
:删除某个值,返回一个布尔值,表示删除是否成功。Set.prototype.has(value)
:返回一个布尔值,表示该值是否为 Set 的成员。Set.prototype.clear()
:清除所有成员,没有返回值。
Set 的遍历方法
Set 结构的实例有四个遍历方法,可以用于遍历成员。
Set.prototype.keys()
:返回键名的遍历器。Set.prototype.values()
:返回键值的遍历器。Set.prototype.entries()
:返回键值对的遍历器。Set.prototype.forEach()
:使用回调函数遍历每个成员。
----- --- - --- ------- -- ---- --- ---- ---- -- ----------- - ------------------ -- -- -- - - --- ---- ---- -- ------------- - ------------------ -- -- -- - - --- ---- ---- -- -------------- - ------------------ -- --- --- --- --- --- -- - ------------------- ---- -- ------------------ ------ -- - -- - -- - -
Set 与数组的互相转换
Set 和数组之间可以互相转换,可以使用以下两个方法:
Array.from()
:将 Set 结构转为数组。Set.prototype[Symbol.iterator]
:Set 结构的默认遍历器是 values 方法,可以使用扩展运算符将其转为数组。
----- --- - --- ------- -- ---- ----- ---- - ---------------- ----- ---- - --------- ------------------ -- --- -- -- ------------------ -- --- -- --
Set 的应用场景
- 数组去重
- 数组合并去重
-- ---- ----- --- - --- -- -- -- -- --- ----- --- - --- --------- ----- ------ - ---------------- -------------------- -- --- -- -- -- ------ ----- ---- - --- -- --- ----- ---- - --- -- --- ----- --- - --- ------------- ---------- ----- ------ - ---------------- -------------------- -- --- -- -- --
总结
Set 是 ES6 中新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。Set 有许多有用的属性和方法,可以方便地对成员进行操作和遍历。Set 与数组之间可以互相转换,非常方便。在实际开发中,可以使用 Set 来进行数组去重和数组合并去重等操作。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65d40fb6add4f0e0ffc14a7e