目录

JavaScript 对象集合

JavaScript 集合是唯一值的集合。

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

Set 可以保存任何数据类型的任何值。

设置方法

方法 描述
新集合() 创建一个新集合
添加() 将新元素添加到集合中
删除() 从 Set 中删除一个元素
有() 如果值存在则返回 true
清除() 从 Set 中删除所有元素
forEach() 为每个元素调用回调
值() 返回包含 Set 中所有值的 Iterator
键() 与值()相同
条目() 返回具有 Set 中的 [value,value] 对的迭代器
属性 描述
尺寸 返回 Set 中的数字元素

如何创建一套

您可以通过以下方式创建 JavaScript 集:

  • 将数组传递给new Set()
  • 创建一个新集合并使用add()增加值
  • 创建一个新集合并使用add()添加变量

新的 Set() 方法

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

示例

// Create a Set
const letters = new Set(["a","b","c"]);
亲自试一试 »

创建一个 Set 并添加文字值:

示例

// Create a Set
const letters = new Set();

// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");
亲自试一试 »

创建一个 Set 并添加变量:

示例

// Create Variables
const a = "a";
const b = "b";
const c = "c";

// Create a Set
const letters = new Set();

// Add Variables to the 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");
亲自试一试 »


forEach() 方法

这个forEach()方法为每个 Set 元素调用一个函数:

示例

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

// List all entries
let text = "";
letters.forEach (function(value) {
  text += value;
})
亲自试一试 »

value() 方法

这个values()方法返回一个 Iterator 对象,其中包含 Set 中的所有值:

示例

letters.values()   // Returns [object Set Iterator]
亲自试一试 »

现在您可以使用 Iterator 对象来访问元素:

示例

// Create an Iterator
const myIterator = letters.values();

// List all Values
let text = "";
for (const entry of myIterator) {
  text += entry;
}
亲自试一试 »

key() 方法

Set 没有键。

keys()返回相同values()

这使得集合与地图兼容。

示例

letters.keys()   // Returns [object Set Iterator]
亲自试一试 »

Entry() 方法

Set 没有键。

entries()返回 [value,value] 对而不是 [key,value] 对。

这使得集合与地图兼容:

示例

// Create an Iterator
const myIterator = letters.entries();

// List all Entries
let text = "";
for (const entry of myIterator) {
  text += entry;
}
亲自试一试 »

集合是对象

对于一套,typeof返回对象:

typeof letters;      // Returns object
亲自试一试 »

对于一套,instanceof Set返回真:

letters instanceof Set;  // Returns true
亲自试一试 »