JavaScript Set 对象

Set 对象按原始插入顺序保存值,是值的集合。Set 中的元素是唯一的,每个值只允许出现一次。Set 可以保存任何数据类型的值。

Set 对象按原始插入顺序保存值,是值的集合。Set 中的元素是唯一的,每个值只允许出现一次。Set 可以保存任何数据类型的值。

创建 Set

创建一个 Set 并添加变量:

// 创建一些变量
const a = "a";
const b = "b";
const c = "c";

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

// 添加到 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");

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

// Create a new Set
const letters = new Set(["a", "b", "c"]);

对于 Set, typeof 返回 object:

typeof letters; // 返回 object

对于 Set,instanceof Set 返回 true:

letters instanceof Set; // 返回 true

向集合中添加元素

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(v) 向 Set 添加一个新元素
clear() 从 Set 中删除所有元素
delete(v) 删除由其值指定的元素。
entries() 返回 Set 对象中的值的数组
has() 如果值存在则返回真
forEach() 为每个元素调用回调
keys() 返回 Set 对象中的值的数组
values() 与键()相同
size 返回元素计数