JS Set集合

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

JS Set集合

i东东   2022-09-29 我要评论

Set集合概述

  • Set集合和Arry数组很相似,但是Set集合存储的是key也就是说Set集合中不可以存在两个值和数据类型都相等的key
  • Set集合不可以用下标取值
  • Set集合没有length属性而是size
  • Set集合可以通过Array.from转为真正的数组

如何创建并使用 Set

创建一个 Set 并添加现有变量:

// 创建变量
const a = "a";
const b = "b";
const c = "c";

// 创建 Set
const letters = new Set();

letters.add(a);
letters.add(b);
letters.add(c);

Add()

往集合添加元素,会进行去重,重复的元素添加只会显示一个

var set = new Set()
set.add(1)
console.log(set); // {1}

var set = new Set().add(1).add([2,3,4])
console.log(set); // {1, [2,3,4]}

var set = new Set([1,2,3,4,5,6]);
console.log(set.add(123)); // {1, 2, 3, 4, 5,6,123} 说明添加成功了
console.log(set.add(1)); // {1, 2, 3, 4, 5,6,123} 说明重复的没有添加成功

Clear()

清空Set对象

var set = new Set([1,2,3,4,5,6]);
set.clear()
console.log(set); // {size: 0} 清空成功

Delete()

删除Set对象中的值

var set = new Set([1,2,3,4,5,6]);
console.log(set.delete(1));  // true 说明删除成功
console.log(set.delete(1));  // false说明删除失败,因为集合中已经不存在 1
console.log(set);   // [2,3,4,5,6] 1被删除掉了

Entries()

Entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。迭代对象中数组的索引值作为 key, 数组元素作为 value。

var set = new Set([1,2,3,4,5]);
console.log(set); // {1, 2, 3, 4, 5}
console.log(set.entries()); // {1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5}

Has()

判断Set对象中某个值是否存在,存在返回true,不存在返回false

var set = new Set([1,2,3,4,5]);
console.log(set.has(1)); // ture 说明Set对象中存在1
console.log(set.has(6)); // false 说明Set对象中不存在6

ForEach()

为每个元素调用回调 它具有三个参数:

  • .value:可选,Set对象中元素的值。
  • .key:可选由于Set对象没有键,所以key的值和value的值相同。
  • .setObj:可选,Set对象本身。
var set = new Set([1,2,3,4,5]);
set.forEach((value,key,setObj)=>{
  console.log(value,key,setObj);
})
// 1 1 {1, 2, 3, 4, 5}
// 2 2 {1, 2, 3, 4, 5}
....

Keys() 与 values()

返回Set对象的key值数组,返回Set对象的value值数组

var set = new Set([1,2,3,4,5]);
console.log(set.keys()); // {1, 2, 3, 4, 5}
console.log(set.values()); // {1, 2, 3, 4, 5}

Size

返回Set对象中元素计数

var set = new Set([1,2,3,4,5]);
console.log(set.size);  // 5

Set 对象的方法和属性集合

名称说明
new Set()创建新的 Set 对象。
add()向 Set 添加新元素。
clear()从 Set 中删除所有元素。
delete()删除由其值指定的元素。
entries()返回 Set 对象中值的数组。
has()如果值存在则返回 true。
forEach()为每个元素调用回调。
keys()返回 Set 对象中值的数组。
values()与 keys() 相同。
size返回元素计数。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们