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)


相关推荐

  • 查看Redis信息和状态

    查看Redis信息和状态

    2021年10月16日
  • java实体entity转map对象[通俗易懂]

    java实体entity转map对象[通俗易懂]实体转对象方法一,一句搞定,直接返回map对象:importorg.springframework.cglib.beans.BeanMap;BeanMap.create(entityObj);方法二:利用反射——详见原文

  • idea打开不了项目_idea为什么打不开

    idea打开不了项目_idea为什么打不开最近做项目的时候发现一个有趣的事情。公司以前的项目代码拉取下来之后用idea没法打开。如上图open之后没反应。打不开。找了很多资料没发现是什么原因导致的,只有这一个项目打不开,其他项目都能正常打开、编译,同时idea无任何提示。这个解决办法呢我尝试是在下图这个页面直接将项目拖进去,确实解决了问题,能够正常打开编译了。此方法目前来看2019.3.4和2020.2版本试过是可以的,但是在2017.12版本上此方法不行。如有大神知道原因请留言,小弟感激不尽…

  • JSF标签_img标签详解

    JSF标签_img标签详解1.JSF入门藉由以下的几个主题,可以大致了解JSF的轮廓与特性,我们来看看网页设计人员与应用程序设计人员各负责什么。1.1简介JSFWeb应用程序的开发与传统的单机程序开发在本质上存在着太多的差异,

  • C++学习——虚函数与纯虚函数

    C++学习——虚函数与纯虚函数引言:若要访问派生类中相同名字的函数,必须将基类中的同名函数定义为 虚函数,这样,将不同的派生类对象的地址赋给基类的指针变量后, 就可以动态地根据这种赋值语句调用不同类中的函数。一、虚函数的定义和使用可以在程序运行时通过调用相同的函数名而实现不同功能的 函数称为虚函数。定义格式为:virtual FuncName();一旦把基类的成员函数定义为虚函数,由基类所派生出来的所 有派生类中,…

  • layer 弹出层传递参数

    layer 弹出层传递参数layer弹出层轻量好用,一直喜欢用,但是却没有弹出层传参的接口,迫于无奈只能Url地址传参,总所周知,这个可是限制大小的,百度一番,看看大神们怎么处理,结果就感觉所有回答都是Ctrl+C加Ctrl+V,全是地址栏传参,页面缓存、cookie、localstorage,本着不甘心的原则,就想为什么不能在open的时候把参数一起作为属性传递了,强行看了layer源码(扒光慢慢看),于是乎…

发表回复

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

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