JavaScript

JavaScript 知识量:26 - 101 - 483

5.5 Set><

基本API- 5.5.1 -

JavaScript的Set是一种特殊的数据结构,它用于存储唯一值的集合。Set对象允许存储任何类型的唯一值,无论是原始值或者是对象引用。

JavaScript的Set对象提供了一些基本的API方法来操作和处理集合中的值。以下是一些常用的Set API:

  • add(value): 添加一个值到Set中。如果这个值已经存在于Set中,那么它不会被再次添加。

  • delete(value): 删除Set中的一个值。返回true如果值存在并被成功删除,否则返回false。

  • has(value): 返回一个布尔值,表示Set对象是否含有指定的值。

  • clear(): 清除Set对象中的所有值。

  • size: 返回Set对象中的值的数量。

通过这些API可以方便地对Set对象进行各种操作,包括添加、删除、检查值的存在等。

创建Set对象- 5.5.2 -

在JavaScript中,可以使用new Set()构造函数来创建一个新的Set对象。例如:

const set = new Set();

创建Set后,可以使用add()方法向其中添加值,使用has()方法检查值是否存在,使用delete()方法删除值。例如:

set.add(1);    
set.add('example');    
console.log(set.has(1)); // 输出: true      
set.delete('example');

顺序与迭代- 5.5.3 -

Set对象提供了多种迭代方法来遍历集合中的值。以下是一些常用的迭代方法:

  • values(): 返回一个新的迭代器对象,它包含了Set对象中的每个值。

  • keys(): 与values()方法相同,返回一个新的迭代器对象,它包含了Set对象中的每个值。在Set对象中,键和值是相同的,因此keys()和values()返回的结果是一样的。

  • entries(): 返回一个新的迭代器对象,它包含了Set对象中每个值的[value, value]数组。在Set对象中,键和值是相同的,因此entries()方法返回的是每个值的两个引用。

  • forEach(callback[, thisArg]): 对Set对象中的每个值执行一次callback函数。callback函数接收三个参数:值、值的索引(在Set中索引就是值本身)和Set对象本身。

以下是一个entries()方法的应用示例:

const set = new Set();  
set.add('apple');  
set.add('banana');  
set.add('orange');  
  
const entries = set.entries();  
for (const [key, value] of entries) {  
  console.log(`Key: ${key}, Value: ${value}`);  
}

输出:

Key: apple, Value: apple  
Key: banana, Value: banana  
Key: orange, Value: orange

在这个示例中,通过entries()方法获取了Set对象的迭代器对象,并使用for...of循环遍历了每个键值对(在Set中键和值是相同的)。在循环中,打印了每个键值对的键和值。