在前端编程中,数据结构是非常重要的一部分。在 ES7 中,引入了一种新的数据结构:Set。它是一种类似于数组的数据结构,但每个值都是唯一的,没有重复。
Set 的基本使用
Set 的创建方式和数组类似,可以使用 new Set()
来创建空的 Set,也可以使用数组初始化 Set,例如:
let mySet = new Set(); let myOtherSet = new Set([1, 2, 3]);
可以使用 add()
方法向 Set 中添加元素,例如:
mySet.add("Hello"); mySet.add("World"); console.log(mySet); // Set { "Hello", "World" }
如果你想判断 Set 中是否包含某个元素,可以使用 has()
方法,例如:
console.log(mySet.has("Hello")); // true console.log(mySet.has("JavaScript")); // false
Set 中也有 delete()
方法来删除指定元素,例如:
mySet.delete("Hello"); console.log(mySet); // Set { "World" }
Set 中的元素可以使用 for...of
循环进行遍历,例如:
for (let value of myOtherSet) { console.log(value); } // Output: // 1 // 2 // 3
Set 的高级特性
Set 中的元素唯一性是它的特色,但是除此之外,Set 还有一些高级特性可以掌握。
Set 中的元素个数
可以使用 size
属性来获取 Set 中元素的个数,例如:
console.log(myOtherSet.size); // 3
Set 中的遍历顺序
在 Set 中,元素的遍历顺序是插入顺序,即插入顺序就是遍历顺序。例如:
-- -------------------- ---- ------- --- ---------- - --- ------- -- ---- --- ---- ----- -- ----------- - ------------------- - -- ------- -- - -- - -- -
Set 中的数组去重
由于 Set 中的元素唯一性,可以方便地使用 Set 去重。我们可以将数组转化为 Set,然后再转回数组,这样就可以去除数组中的重复元素。例如:
let myArray = [1, 2, 2, 3, 3, 3]; let mySet = new Set(myArray); let myNewArray = Array.from(mySet); console.log(myNewArray); // [1, 2, 3]
Set 中的交集、并集和差集
在实际开发中,经常需要对两个集合进行交集、并集或差集的操作。在 ES7 中,Set 已经包含了这些操作函数。
-- -------------------- ---- ------- --- ---- - --- ------- -- ---- --- ---- - --- ------- -- ---- -- -- --- --------------- - --- ---------------------- -- -------------- ----------------------------- -- --- - -- - - -- -- --- -------- - --- ------------- ---------- ---------------------- -- --- - -- -- -- - - -- -- --- ------------- - --- ---------------------- -- --------------- --------------------------- -- --- - - -
总结
Set 是 ES7 新增的数据结构,具有唯一性、插入顺序、元素个数等特点。Set 可以用于数组去重,也可以进行交集、并集和差集的操作,可以方便地解决实际开发中的问题。掌握 Set 的基本使用和高级特性,将有助于我们更高效地编写 JavaScript 代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6460c2f4968c7c53b0263f3c