JS数据结构——Set(集合)详解

作者:demo2024.01.18 06:17浏览量:4

简介:Set是JavaScript中一种新的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。本文将深入探讨Set的特性、使用方法和注意事项。

在JavaScript中,Set是一种新的数据结构,它类似于数组,但有一些重要的差异。Set中的每个元素都是唯一的,这意味着如果你尝试添加一个已经存在于Set中的元素,它将不会被添加,Set将保持不变。
一、创建Set
创建一个Set对象非常简单,就像这样:

  1. let mySet = new Set();

你也可以在创建时初始化一些元素:

  1. let mySet = new Set([1, 2, 3, 4, 4, 5]);

在这个例子中,数字4只会被存储一次,即使它被重复了。
二、操作Set

  1. 添加元素:使用Set的add方法可以添加元素。如果元素已经存在,那么它不会被添加。
    1. mySet.add(6); // 现在mySet包含[1, 2, 3, 4, 5, 6]
  2. 删除元素:使用Set的delete方法可以删除元素。如果元素存在,那么它会被删除。
    1. mySet.delete(4); // 现在mySet包含[1, 2, 3, 5, 6]
  3. 检查元素是否存在:使用Set的has方法可以检查一个元素是否存在于Set中。
    1. mySet.has(3); // 返回true,因为3存在于mySet中
    三、遍历Set
    你可以使用多种方法来遍历一个Set。例如,你可以使用for...of循环:
    1. for (let value of mySet) {
    2. console.log(value); // 输出每一个在mySet中的值
    3. }
    你也可以使用Array的from方法或者扩展运算符(...)将一个Set转换为一个数组,然后使用数组的遍历方法:
    ```javascript
    let arrayFromSet = Array.from(mySet); // 将mySet转换为数组并赋值给arrayFromSet变量
    // 或者使用扩展运算符:let arrayFromSet = […mySet]; // 将mySet转换为数组并赋值给arrayFromSet变量