在js中,Set和Map相比,也有一组key的集合,但不存储value。由于key不能重复,所以,在Set中没有重复的key。因此,set使用的场景在于,可以提供一组没有重复元素的集合。
Set构造
要构造一个Set对象,需提供一个Array作为输入,或者直接构造一个空Set,如:
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); var set1 = new Set();
add()
add方法可以向set中添加一个元素,如果该元素已经存在,则不再添加。
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); set.add("tianjin"); set.add("guangzhou");
delete()
delete方法可以将给定的元素在Set中删除
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); set.delete("chongqing");
has()
通过has方法查询给定的元素是否存在
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); set.has("chongqing");
set的遍历
set是可迭代的,一组set可以通过for (... of ... ) 进行遍历
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); for (let x of set.values()){ console.log(x); }
除了通过for (... of ...) 进行遍历,还可以通过set的迭代器直接进行遍历
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); var iter = set.values(); for (;;){ let v = iter.next(); if (v.done){ break; } console.log(v.value); }
clear()
clear方法可以清空set的元素
var set = new Set(["beijing","shanghai","tianjin","chongqing"]); set.has("chongqing"); set.size(); //0
文章同时发表在:码农编程网 欢迎访问
本节重点
- 可以构造一个空的Set,或通过数组构造一个set;
- Set区别于数组,其对象的元素不能重复且不能通过索引进行查询;
- 介绍了Set对象的多个方法;
- 介绍了Set对象如何进行遍历。