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就是存在的值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 扫描主机漏洞的工具_漏洞扫描工具有哪些

    扫描主机漏洞的工具_漏洞扫描工具有哪些0x00说明:这是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免databaseislocked的错误,采用md5哈希算法确保数据不重复插入。本工具查找是否有公开exp的网站为shodan,该网站限制网络发包的速度,因而采用了单线程的方式,且耗时较长。功能:查找主机上具有的CVE查找具有公开EXP的CVE0x…

  • Java学习之继承与抽象篇

    Java学习之继承与抽象篇0x00前言前面讲到了面向对象,面向对象的三大特性是封装、继承、多态。那么这次就来讲讲继承。0x01继承概述:多个类中存在相同属性和行为时,将这些内容抽取到单独一

    2021年12月11日
  • 51单片机iic通信例程_linux移植8位单片机

    51单片机iic通信例程_linux移植8位单片机移植好的源码下载:http://download.csdn.net/detail/lxj_com2006/3746433Keil3C518.18注册版下载:http://download.csdn.net/detail/lxj_com2006/3746501网络抓包工具下载:http://download.csdn.net/detail/lxj_com2006/3746594

    2022年10月21日
  • JMH简介

    JMH简介  JMH是新的microbenchmark(微基准测试)框架(2013年首次发布)。与其他众多框架相比它的特色优势在于,它是由Oracle实现JIT的相同人员开发的。特别是我想提一下AlekseyShipilev和他优秀的博客文章。JMH可能与最新的OracleJRE同步,其结果可信度很高。JMH的示例链接。使用JMH仅需满足2个必要条件(其他所有都是建议选项):设置jmh-…

  • div滚动条

    div滚动条##设置div内容溢出滚动overflower:auto(内容溢出的时候出现滚动条;scroll会一直出现滚动条)#滚动条样式##滚动条组成:-webkit-scrollbar滚动条整体部

  • 乘用车黑客手册(译)

    乘用车黑客手册(译)原书地址:http://opengarages.org/handbook/(部分与技术无关部分没有翻译)(本人萌新一只,有翻译的不准确的请各位前辈指教。)理解攻击面:如果你有软件渗透测试的经验

发表回复

您的电子邮箱地址不会被公开。

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