JavaScript Set 对象

Set 是唯一值的集合。

每个值在 Set 中只能出现一次。

一个 Set 可以容纳任何数据类型的任何值。

如何创建 Set

创建一个 Set 并添加现有变量:

实例

// 创建新的变量
const a = "a";
const b = "b";
const c = "c";

// 创建 Set
const letters = new Set();

// Add the values to the Set
letters.add(a);
letters.add(b);
letters.add(c);

亲自试一试

创建 Set 并添加文字值:

实例

// 创建 Set
const letters = new Set();

// 向 Set 添加一些值
letters.add("a");
letters.add("b");
letters.add("c");

亲自试一试

将 Array 传递给 new Set() 构造函数:

实例

// 创建新的 Set
const letters = new Set(["a","b","c"]);

亲自试一试

对于 Set,typeof 返回对象:

typeof letters;      // 返回 object

亲自试一试

对于 Set,instanceof Set 返回 true:

letters instanceof Set;  // 返回 true

亲自试一试

向 Set 添加元素

实例

letters.add("d");
letters.add("e");

亲自试一试

如果您添加相等的元素,则只会保存第一个元素:

实例

letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");

亲自试一试

Set 对象的方法和属性

new Set() 创建新的 Set 对象。
add() 向 Set 添加新元素。
clear() 从 Set 中删除所有元素。
delete() 删除由其值指定的元素。
entries() 返回 Set 对象中值的数组。
has() 如果值存在则返回 true。
forEach() 为每个元素调用回调。
keys() 返回 Set 对象中值的数组。
values() 与 keys() 相同。
size 返回元素计数。