js的Set数据类型

在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对象如何进行遍历。

posted on 2023-06-29 10:27  崎岖行者  阅读(59)  评论(0编辑  收藏  举报

导航