JavaScript Set

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

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 数组

什么是数组?数组是一个特殊的变量,它能够一次存放一个以上的值。如果你有一个项目清单,在单个变量中存储品牌,那应该是这样字的:var brand1 = "Saab...

JavaScript 对象定义

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

JavaScript 可迭代对象

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

JavaScript 最新特征

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

vue-router导航守卫

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

发表评论

访客

看不清,换一张

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