在 JavaScript 中,集合 (set) 类型是一种无序且不能重复的数据结构,它可以用来存储任意类型的值。在 ES6 中,JavaScript 引入了 Set 类型;而在 ES12 中,Set 类型得到了进一步的改进和扩展,包括新的 API,更高效的结构和更广泛的应用。本文将为您介绍 ES12 中的集合类型的用法指南及实践。
Set 类型的基础
创建 Set 对象
ES12 中可以通过以下两种方式创建一个 Set 对象:
- 使用
new
关键字创建 Set 对象
----- ----- - --- ------ -- ------ --- --
- 使用数组创建 Set 对象
----- ----- - --- ------- -- -- -- ---- -- ------ --- --
添加、删除、查询 Set 元素
向一个 Set 对象添加元素可以使用 add()
方法,删除元素可以使用 delete()
方法,查询元素可以使用 has()
方法。
----- ----- - --- ------ ------------------- -- ------ -------------------- -- ------ ---------------------- -- ------ --------------------------------- -- -- ------- -------- --- --- -
Set 大小
通过 size
属性,我们可以获取 Set 中元素的个数。
----- ----- - --- ------- -- -- -- ---- ------------------------ -- -- -
Set 类型的高级应用
Set 中的元素必须是唯一的
Set 类型与数组不同的是,Set 中的元素不能重复,所以不管我们添加多少个相同的元素,Set 中只会保留其中的一个。
----- ----- - --- ------ ------------------- -------------------- ------------------- ------------------- -- -- --- - -------- -------- -
Set 中元素的顺序
Set 类型中的元素是无序的,所以我们在将一个 Set 转换为数组时不能保证其顺序。如果我们需要对其顺序进行排序,可以使用 Array.from()
方法将 Set 转换成数组,然后使用 sort()
方法进行排序。
----- ----- - --- ------- -- -- -- ---- ------------------- -- -- --- - -- -- -- -- - - ----- ------- - ------------------ ---------------------------- -- -- --- -- -- -- --
Set 中元素的遍历
Set 类型提供了三种内置的迭代方法:keys()
、values()
和 entries()
。由于 Set 类型中的元素与其下标无关,因此 keys()
方法和 values()
方法的效果是相同的。
----- ----- - --- ------------- --------- ----------- --- ------ ----- -- --------------- - ------------------- -- -- ---------------- - -------- -
除了这些方法外,Set 类型还提供了 forEach()
方法。
----- ----- - --- ------- -- -- -- ---- ------------------- -- - ------------------- -- -- ------- - - ---
Set 和数组的互相转换
Set 类型和数组之间可以互相转换,下面是两种方法:
- 将 Set 转换成数组
----- ----- - --- ------- -- -- -- ---- ----- ------- - ----------- --------------------- -- -- --- -- -- -- --
- 将数组转换成 Set
----- ------- - --- -- -- -- --- ----- ----- - --- ------------- ------------------- -- -- --- - -- -- -- -- - -
Set 类型的实践应用
Set 类型的高效性和无重复性使得它在实践中被广泛应用。下面是一些实践应用场景:
数组的去重
将一个数组转换为 Set 对象,再将 Set 对象转换成数组,可以达到去重的目的。
----- ------- - --- -- -- -- -- -- --- ----- ------ - ------- -------------- -------------------- -- -- --- -- -- -- --
元素的交集、差集、并集
Set 类型也可以用来计算两个集合之间的交集、差集和并集,具体实现方法如下:
----- ---- - --- ------- -- -- ---- ----- ---- - --- ------- -- -- ---- -- --- ----- ------------ - --------------------- -- ---------------- -------------------------- -- -- --- -- -- --- ----- ---------- - --------------------- -- ----------------- ------------------------ -- -- --- -- -- --- ----- ----- - --------- --------- ------------------- ------------- -- -- --- -- -- -- -- --
总结
Set 类型是 ES12 中新增的一种数据结构,它可以用来存储任意类型的值,并且保证元素无序并且唯一。Set 类型提供了一系列的方法可以用来操作这些元素,主要包括添加、删除、查询、遍历、转换等操作。在实践中,Set 类型可以用来进行数组的去重,以及计算集合之间的交集、差集和并集等操作。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64a0dc8148841e9894d22a8e