JavaScript Set

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

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字符串方法和属性

javascript字符串方法和属性1.获取字符串的长度var text=""abcndfsdfdsfsd"; console.log(text.length...

JavaScript 数组迭代

数组迭代方法对每个数组项进行操作Array.foreach()方法为每个数组元素调用一次函数(回调函数)var txt = ""; var ...

JavaScript 对象访问器

javascript 对象访问器计数器例子var obj = {      counter:0,  &nb...

JavaScript 可迭代对象

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

关于Javascript

JavaScript是一种广泛使用的编程语言,用于在网页上添加交互性和动态性。它是一种高级,动态类型的脚本语言,常常与HTML和CSS一起使用,以创建丰富的用户体验。JavaScript具有以下优美的...

vue-router导航守卫

vue-router的导航守卫可以用来在路由跳转过程中添加自定义逻辑,例如验证、权限控制、重定向等。导航守卫可以分为三种:全局导航守卫、路由独享守卫和组件内的守卫1。全局导航守卫可以使用router....

发表评论

访客

看不清,换一张

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