JavaScript Set

JavaScript Set 是一种唯一值的集合。

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

值可以是任何类型,原始值或对象。

如何创建 Set

可以通过以下方式创建 JavaScript Set:

  1. 将数组传递给 new Set()
  2. 创建一个空 Set 并使用 add() 添加值。

new Set() 方法

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

实例

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

亲自试一试

创建 Set 并添加值:

实例

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

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

亲自试一试

创建 Set 并添加变量:

实例

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

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

// 将变量添加到 Set
letters.add(a);
letters.add(b);
letters.add(c);

亲自试一试

add() 方法

实例

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");

亲自试一试

列出元素

可以使用 for..of 循环列出所有 Set 元素(值):

实例

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

// 列出所有元素
let text = "";
for (const x of letters) {
  text += x;
}

亲自试一试

Set 是对象

typeof 返回 object:

typeof letters;      // 返回 object

亲自试一试

instanceof Set 返回 true:

letters instanceof Set;  // 返回 true

亲自试一试

完整的 Set 参考手册

如需完整参考,请访问我们的:JavaScript Set 参考手册

该手册包含所有 Set 属性和方法的描述和实例。

浏览器支持

Set 是 ES6 的特性(JavaScript 2015)。

自 2017 年 6 月起,所有现代浏览器均支持 ES6:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 年 5 月 2017 年 4 月 2017 年 6 月 2016 年 9 月 2016 年 6 月

Internet Explorer 不支持 Set。