JavaScript Set

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

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 对象访问器计数器例子var obj = {      counter:0,  &nb...

JavaScript ES5 对象方法

ECMAScript 5 (2009) 向 JavaScript 添加了许多新的对象方法。管理对象// 以现有对象为原型创建对象 Object.create() //添加或更改对象属性...

JavaScript 的核心是 ECMAScript

JavaScript 的核心是 ECMAScript,具体来说,它包括以下几个方面:语法:JavaScript 的语法包括语句结构、变量定义、函数定义、条件语句、循环语句等。ECMAScript 标准...

JavaScript 最新特征

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

JavaScript Map

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

发表评论

访客

看不清,换一张

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