引言
ECMAScript 2016 引入了一些新的数据类型和特性,其中之一就是 Set。Set 是一种类似于数组的数据结构,但是它的每个元素必须是唯一的,且可以是任何类型的值,包括对象和原始值。Set 可以用于去重、交集、并集等操作,是一种非常实用的数据类型。
在本文中,我们将介绍 Set 的使用方法和一些示例代码,帮助读者更好地理解它的用法和优势。
Set 的基本用法
创建 Set
创建一个 Set 可以通过以下两种方式:
// 方法一:使用 new Set() 创建一个空的 Set const set1 = new Set(); // 方法二:使用 Array.from() 从一个数组中创建 Set const arr = [1, 2, 3, 3, 4, 5, 5]; const set2 = new Set(arr);
在上面的代码中,set1 是一个空的 Set,set2 是一个包含了数组 arr 中所有不重复元素的 Set。
向 Set 中添加元素
向 Set 中添加元素可以使用 add() 方法:
-- -------------------- ---- ------- ----- --- - --- ------ ----------- ----------- ----------- ----------------- --------- ----- ------- --- ----------------- -- --- - -- -- -- -------- - ----- ------- - -
在上面的代码中,我们向 Set 中添加了五个元素,包括数字、字符串和对象。
从 Set 中删除元素
从 Set 中删除元素可以使用 delete() 方法:
const set = new Set([1, 2, 3]); set.delete(2); console.log(set); // Set { 1, 3 }
在上面的代码中,我们从 Set 中删除了元素 2。
判断 Set 中是否存在某个元素
判断 Set 中是否存在某个元素可以使用 has() 方法:
const set = new Set([1, 2, 3]); console.log(set.has(2)); // true console.log(set.has(4)); // false
在上面的代码中,我们判断了 Set 中是否存在元素 2 和 4。
获取 Set 的大小
获取 Set 的大小可以使用 size 属性:
const set = new Set([1, 2, 3]); console.log(set.size); // 3
在上面的代码中,我们获取了 Set 的大小,即元素的个数。
清空 Set
清空 Set 可以使用 clear() 方法:
const set = new Set([1, 2, 3]); set.clear(); console.log(set); // Set {}
在上面的代码中,我们清空了 Set。
Set 的高级用法
Set 的遍历
Set 可以使用 for...of 循环进行遍历:
const set = new Set([1, 2, 3]); for (const item of set) { console.log(item); }
在上面的代码中,我们使用 for...of 循环遍历了 Set 中的所有元素。
Set 的转换
Set 可以通过 Array.from() 方法转换为数组:
const set = new Set([1, 2, 3]); const arr = Array.from(set); console.log(arr); // [1, 2, 3]
在上面的代码中,我们将 Set 转换为了数组。
Set 的交集、并集、差集
Set 可以用于求交集、并集、差集等操作,例如:
-- -------------------- ---- ------- ----- ---- - --- ------- -- ---- ----- ---- - --- ------- -- ---- -- --- ----- ----- - --- ------------- ---------- ------------------- -- --- - -- -- -- - - -- --- ----- ------------ - --- ------------------------ -- -------------- -------------------------- -- --- - -- - - -- --- ----- ---------- - --- ------------------------ -- --------------- ------------------------ -- --- - - -
在上面的代码中,我们使用了扩展运算符、filter() 方法等操作,求出了 Set 的并集、交集、差集。
总结
Set 是 ECMAScript 2016 中的一种新的数据类型,它可以用于去重、交集、并集等操作,是一种非常实用的数据类型。在本文中,我们介绍了 Set 的基本用法和高级用法,并给出了一些示例代码,帮助读者更好地理解它的用法和优势。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/662d0535d3423812e4a8b619