ES6中set和map「建议收藏」

ES6中set和map「建议收藏」一。set数据容器能够存储无重复值数据的有序列表1.通过newset()方法创建容器通过add()方法添加2.set.size获取存储的数据的数量例: varset=newSet() set.add(1); set.add(‘1’); console.log(set)console.log(set.size)3.Set内部使用Obj…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一。 set 数据容器 能够存储无重复值数据的有序列表
1. 通过 new set() 方法创建容器 通过add() 方法添加
2. set.size获取存储的数据的数量

例:

	var set = new Set()
	set.add(1);
	set.add('1');
	console.log(set)
   console.log(set.size)

3. Set内部使用Object.is()方法来判断两个数据项是否相等
4. 利用数组来构造set 且set 构造器不会存在重复的数据
例:

var set1 = new Set([1,2,3,3,3,3,3,2]) // 结果数组会去重

5. 可以使用has()方法来判断某个值是否存在于Set中

例:console.log(set1.has(5)) // 返回 true 或false

6. 使用delete()方法从Set中删除某个值,或者使用clear()方法从Set中删除所 有值
例:

 set1.delete(1) 
 console.log(set1)
 set1.clear()
 console.log(set1)

7. forEach 遍历set

set2.forEach(function(value,key){
	 console.log(value)
	 console.log(key)
 })

8. 将数组转换成set 直接将数组放在new Set()参数中

二。ES6中提供了Map数据结构,能够存放键值对,其中,键的去重是通过Object.is()方法进行比较,键的数据类型可以是基本类型数据也可以是对象,而值也可以是任意类型数据。
1. 创建map
例:

var map = new Map()

2.使用set()方法可以给Map添加键值对 ,能够自动去重,和set原理一样,添加相同的元素会进行去重处理

 var map = new Map()
   console.log(map)
   map.set('title','baidu')
   map.set('year','2018');
   map.set('year','2018');
   map.set('year','2018');

3.通过get()方法可以从Map中提取值,size方法同set一样,获取数组长度

  console.log(map.get('year'))    // 2018
  console.log(map.size)  // 2

4.同set一样,也有 has(),delete(),clear() 方法

  map.delete('title');
  map.clear();
  console.log(map.has('year'));

5. forEach 遍历

     map.forEach(function(value,key){
   	 console.log(value)  // 值 2018
   	 console.log(key)    // 健 year
   })

三。 set和map 的区别

  1. 都是用来存储数据用的,但是存储的数据格式不同
    set 直接存储 任意类型数据
    map 存储数据的时候,必须以key,value的形式,
    set 使用forEach 遍历的时候,key和value值是一样的
    而map 遍历的时候,key就是存进去的对象的key,value就是存在的值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196398.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Redis 集群搭建

    Redis集群搭建前言最近通过看视频学习了一下Redis,前天使用CentOS7配置了一下Redis4.0.9单机版(相关链接:CentOS7配置Redis4.0.9),今天则通过之前的笔记,视频以及redis官网上集群搭建的教程(https://redis.io/topics/cluster-tutorial)的资料来搭建一下Redis集群。…

    2022年4月7日
    34
  • mybatis中LIKE模糊查询的几种写法以及注意点

    mybatis中LIKE模糊查询的几种写法以及注意点mybatis中对于使用like来进行模糊查询的几种方式:(1)使用${…}注意:由于$是参数直接注入的,导致这种写法,大括号里面不能注明jdbcType,不然会报错org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.reflection.ReflectionExc…

    2022年5月7日
    63
  • 电脑键盘锁定怎么解锁笔记本_电脑键盘被锁如何解锁

    电脑键盘锁定怎么解锁笔记本_电脑键盘被锁如何解锁主流的笔记本厂商为了扩展键盘功能,为用户提供便捷的操作体验,给F1~F12增加了特定的快捷功能。默认情况下这些快捷功能需要按Fn+(F1~F12)来实现,不过经常使用快捷功能的用户可能需要锁定Fn键,使系统默认调用快捷功能,避免每次都要按Fn。一、戴尔、联想、小米,用Fn+Esc锁定/解锁如果笔记本Esc键的右下角有一个带fn标志的锁,说明这台笔记本适用…

    2022年8月13日
    2
  • String数组的创建

    String数组的创建string数组的定义有三种写法:String[]arr=newString[10];//创建一个长度为10的String类型数组。Stringarr[]=newString[10];Stringarr[]={“张三”,”李四”};前面两种写法是一样的,可以互换,但是建议使用前者String[]arr因为java是强类型语言,声明…

    2022年6月7日
    114
  • 计算机里libcurl.dll,Update.exe系统错误 由于找不到libcurl.dll,无法继续执行代码。重新安装程序可能会解决此问题。 – Microsoft Community…

    计算机里libcurl.dll,Update.exe系统错误 由于找不到libcurl.dll,无法继续执行代码。重新安装程序可能会解决此问题。 – Microsoft Community…您好,了解到您Windows10遇到系统错误的问题。请问您是在做什么操作遇到该问题的呢?您也可以尝试以下方法:1.从其他相同系统的计算机的C:\Windows\SysWOW64(64位win10)或C:\Windows\System32(32位win10)录路径中复制libcurl.dll动态链接库文件,也可以从百度下载对应版本系统的libcurl32.dll;2、得到该文件后,我们将其复制…

    2022年7月26日
    19
  • 用git将项目文件上传至github

    用git将项目文件上传至github1,新建文件夹,在文件夹中新增txt文件2,下载githttps://git-scm.com/download/win3,点击文件右键(gitbasehere)打开git客户端4,根据https://jingyan.baidu.com/article/295430f18d33490c7e0050e4.html步骤安装直到出现登录github账号5,将需要上传的项目文件拖至新建的文件…

    2022年7月16日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号