二维码

JavaScript 集

JavaScript 集

JavaScript 集是唯一值的集合。

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

基本 Set 方法

方法 描述
new Set() 创建一个新集
add() 将新元素添加到集合
delete() 从 Set 中删除元素
has() 如果 Set 中存在值,则返回 true
forEach() 为 Set 中的每个元素调用回调
values() 返回一个迭代器,其中包含 Set 中的所有值
属性 描述
size 返回 Set 中的元素数

如何创建集合

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

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

new Set()方法

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

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

创建一个 Set 并添加值:

1
2
3
4
5
6
7
8
// Create a Set  
const letters = new Set();

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

创建一个 Set 并添加变量:

1
2
3
4
5
6
7
8
9
10
11
12
13
// Create a Set  
const letters = new Set();

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

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


add()方法

1
2
3
letters.add("d");  
letters.add("e");

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

1
2
3
4
5
6
7
8
9
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 元素调用(调用)一个函数:

1
2
3
4
5
6
7
8
9
// Create a Set  
const letters = new Set(["a","b","c"]);

// List all Elements
let text = "";
letters.forEach (function(value) {
  text += value;
})


values()方法

values()方法返回一个新的迭代器对象,其中包含 Set 中的所有值:

1
2
letters.values()   // Returns [object Set Iterator]

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

1
2
3
4
5
6
// List all Elements  
let text = "";
for (const x of letters.values()) {
  text += x;
}