好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

JavaScript中Set集合的方法详情

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 返回元素计数。

到此这篇关于JavaScript中Set集合的方法详情的文章就介绍到这了,更多相关JS Set集合内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

查看更多关于JavaScript中Set集合的方法详情的详细内容...

  阅读:36次