JavaScript Set

admin2年前 (2023-07-13)it知识554

JavaScript的Set(集合)是一组唯一值的集合。

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

Set可以容纳任何数据类型的值。


如何创建Set

  1. 将数组传递给new Set()

  2. 创建一个新的Set, 然后使用add()方法添加值

  3. 创建一个新的Set,然后使用add()方法添加变量


新的Set()方法

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

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

创建一个Set 并添加字面量值:


const letters = new Set();
letters.add("a");
letters.add("b");
letters.add("c");

创建一个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);
letters.add(c);

add 添加多个相等元素,只有第一个会被保存。

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

//创建 Set 
const letters = new Set(["a","b","c"]);
//列出所有条目
let text = "";
 letters.forEach(function(value){
    text += value;
})

values() 方法返回包含Set 中所有值的Iterator 对象:

letters.values()   //返回 [object Set Iterator]

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

// 创建迭代器 
const myIterator = letters.values();
// 列出所有值
let text = "";
for (const entry of myIterator) {
   text += entry;
}

keys() 方法

Set 没有健。

keys() 返回与values()相同的结果。

这使得Set 与Map相兼容。

letters.keys() // 返回[object Set Iterator]

entries() 方法

entries()方法返回的是[value,value]值值对,而不是[key, value] 键值对。

//创建迭代器
const myIterator = letters.entries();
//列出所有条目
let text = "";
for (const entry of myIterator){
    text += entry;
}

对于Set typeof 返回object:

typeof letters;    //返回 object

对于 Set instanceof  Set;    // 返回 true

标签: JavaScript

相关文章

JavaScript 字符串模板

模板字面量使用反引号(``)而不是引号("")来定义字符串:比如:let text = `Hello World`;使用模板字面量,可以在字...

JavaScript 对象定义

在JavaScript 中,对象是王。如果你理解了对象,就理解了javascript。在Javascript 中,几乎所有事物都是对象。 布尔是对象(如果用new 关键词定义)数字是对象(如...

JavaScript 对象原型

前面有一章提到无法为已有的对象构造器添加新属性Person.nationality = "English";  //得到的是undefine...

JavaScript 可迭代对象

可迭代对象时可以使用for..of 进行迭代的对象从技术上讲,可迭代对象必须实现Symbol.iterator方法。遍历字符串你可以使用for..of循环来遍历字符串的元素:for(const&nbs...

JavaScript 最新特征

JavaScript 的最新特征包括以下几个方面:类的私有变量:通过使用 # 符号,可以在类中定义私有变量,只能在类的内部访问,外部无法访问。空位合并操作符:使用 ?? 符号,可以在两项中任一项为 n...

JavaScript Map

Map 保存键值对,其中键可以是任何数据类型。Map会记住键的原始插入顺序。Map提供表示映射大小的属性。如何创建Map 可以通过以下方式创建Javascript 映射:将数组传递给new...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。