首页 > 其他分享 >js的Set数据类型

js的Set数据类型

时间:2023-06-29 10:33:55浏览次数:50  
标签:set tianjin 数据类型 js Set var new chongqing

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

标签:set,tianjin,数据类型,js,Set,var,new,chongqing
From: https://www.cnblogs.com/qqxz/p/17513349.html

相关文章

  • js对时间的操作(秒数转化为时分秒)
    介绍:最近在写项目的时候遇到后台返回的时间是1300秒,考虑到页面展示效果不佳,想到直接改成时分秒的样式,代码如下://秒数转化为时分秒formatSeconds(value){varsecondTime=parseInt(value);//秒varminuteTime=0;//分varhourTime=0;//......
  • Three.js教程:gui.js库(分组)
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生gui.js库(分组)当GUI交互界面需要控制的属性比较多的时候,为了避免混合,可以适当分组管理,这样更清晰。gui交互界面不分组gui交互界面不分组,只有一个默认的总的菜单。constgui=newGUI();//创建GUI对象......
  • 彻底理解 Node.js 中的回调(Callback)函数
    究竟什么是回调函数(Callback),网上有许许多多的文章,大部分看得人云里雾外,这些文章大概分成两类,第一类堆砌了太多的术语,基本上不明白术语就没法看,另一类反过来,不讲术语,完全是举一些脱离编程的生活化例子来类比,看的人更加晕头转向。作为JS的核心,回调函数和异步执行是紧密相关的,不跨......
  • 自用gulp打包脚本,压缩html,压缩js,压缩css,压缩图片,功能齐全
    constgulp=require('gulp');constfs=require('fs');consthtmlmin=require('gulp-htmlmin');constuglify=require('gulp-uglify');constuglifyEs=require('uglify-es');constminifyCSS=require(......
  • ExtJs学习
    ExtExt.onReady:准备函数,执行时机是DOM对象加载完毕后JS三种函数构造形式arguments对象接受函数的实际参数用于做递归操作使用call指定函数执行的作用域函数.call(window,10,20,30),(作用域对象,参数1,参数2,参数3)apply作用一样,但是是传数组函数.apply(window,[2,3,4])......
  • hdu 5249(set + queue)
    题意:Input有大约100组数据。每组数据第一行有一个n(1≤n≤10000),代表服务记录数。接下来有n行,每一行有3种形式“inx”:代表重要值为x(0≤x≤109)的请求被推进管道。“out”:代表服务拉取了管道头部的请求。“query:代表我想知道当前管道内请求重要值的中间值.那就是......
  • NodeJS系列(5)- ECMAScript 6 (ES6) 语法(三)
    在“NodeJS系列(3)-ECMAScript6(ES6)语法(一)”和“NodeJS系列(4)-ECMAScript6(ES6)语法(二)”里,我们介绍并演示let、const、Symbol、函数扩展、类等ES6语法和概念。本文在“NodeJS系列(2)-NPM项目Import/ExportES6模块”的npmdemo项目的基础上,继续介绍并演示Ref......
  • delphi如何把json传递过来的base64值转成图片
    资料来原:https://blog.csdn.net/red_eye/article/details/129634709   在Delphi中,您可以使用TNetEncoding.Base64.DecodeString方法将JSON传递过来的Base64编码字符串转换为原始二进制数据。然后,您可以将该二进制数据保存为图像文件或将其加载到TImage组件中以显示图像。以......
  • C++面试八股文:知道std::unordered_set/std::unordered_map吗?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第27面:面试官:知道std::unordered_set/std::unordered_map吗?二师兄:知道。两者都是C++11引入的新容器,和std::set和std::map功能类似,key唯一,unordered_map的value可变。二师兄:不同于set/map,unordered_set/unordered_map都是无序容器......
  • 10redis列表操作,其他操作,redis管道,django中使用redis,django缓存,序列化json和pickle,cel
    字符串和字节转换的两种方式#字符串和字节转换的两种方式 -decode,encode-直接类型转换-bytes格式的16进制,2进制,10进制的显示#字符串需要用encode,bytes格式需要用decode,但是有时候忘了#可以直接进行强转b1=bytes(s,encoding='utf-8') print(......