ES6中Set和Map
1、Set 实例的创建
- Set实例它类似于数组,但是成员的值都是唯一的,没有重复的值。
- Set本身是一个构造函数用来生成Set数据结构。
- Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数, 用来初始化。
[...new Set(array)] // 去除数组的重复成员
2、Set实例的属性和方法
①属性:
- Set.prototype.constructor:构造函数,默认就是Set函数。
- Set.prototype.size:返回Set实例的成员总数。
②方法:
- add(value):添加某个值,返回Set结构本身;
- delete(value):删除某个值,返回一个布尔值,表示删除是否成功;
- has(value):返回一个布尔值,表示该值是否为Set的成员;
- clear():清除所有成员,没有返回值;
- keys():返回键名的遍历器;
- values():返回键值的遍历器;
- entries():返回键值对的遍历器;
- forEach():使用回调函数遍历每个成员;
3、Map实例的属性和方法
- Map类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的 值(包括对象)都可以当作键。也就是说,
Object 结构ᨀ供了“字符串—值”的对 应,Map结构ᨀ供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需 要“键值对”的数据结构,
Map 比 Object 更合适;
- Map 可以接受一个数组作为参数。该数组的成员是一个表示键值对的数组。
const map = new Map([ ['name', '张三'], ['title', 'Author'] ])
属性:
Map.prototype.size:返回 Map 结构的成员总数。
方法:
- set(key, value):set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如 果key已经有值,则键值会被更新,否则就新生成该键;
- get(key):get方法读取key对应的键值,如果找不到key,返回undefined;
- has(key):has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中;
- delete(key):delete方法删除某个键,返回true。如果删除失败,返回false;
- clear():清除所有成员,没有返回值;
- keys():返回键名的遍历器;
- values():返回键值的遍历器;
- entries():返回键值对的遍历器;
- forEach():使用回调函数遍历每个成员;
ES6中Set和Map的更多相关文章
- ES6中Set 和 Map用法
JS中Set与Map用法 一.Set 1.基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. ...
- ES6中set和map的区别
Set ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化. // 例一 var set = ne ...
- ES6中的Set和Map集合
前面的话 在ES6标准制定以前,由于可选的集合类型有限,数组使用的又是数值型索引,因而经常被用于创建队列和栈.如果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集 ...
- ES6中的Map集合(与java里类似)
Set类型可以用来处理列表中的值,但是不适用于处理键值对这样的信息结构.ES6也添加了Map集合来解决类似的问题 一.Map集合 JS的对象(Object),本质上是键值对的集合(Hash结构),但是 ...
- ES6 中的 Map和Set
集合的概念以及和数组的区别 其实数组也是集合, 只不过数组的索引是数值类型.当想用非数值类型作为索引时, 数组就无法满足需要了. 而 Map 集合可以保存多个键-值对(key-value), Set ...
- ES6中map和set用法
ES6中map和set用法 --转载自廖雪峰的官方网站 一.map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Arra ...
- ES6中map数据结构学习
在项目中遇到一个很恶心的需求,然后发现ES6中的map可以解决,所以简单学习了一下map. Javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是“字符串-值”对,属性只 ...
- ES6中Map数据结构学习笔记
很多东西就是要细细的品读然后做点读书笔记,心理才会踏实- Javascript对象本质上就是键值对的集合(Hash结构),但是键只能是字符串,这有一定的限制. 1234 var d = {}var e ...
- ES6中的Symbol类型
前面的话 ES5中包含5种原始类型:字符串.数字.布尔值.null和undefined.ES6引入了第6种原始类型——Symbol ES5的对象属性名都是字符串,很容易造成属性名冲突.比如,使用了一个 ...
随机推荐
- 自己编写一个Java监听器
Java监听器 1.原理: 当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法. 例如:创建一个“人”类Class Person 人拥有吃的方法public void eat(){},我 ...
- Kafka中的消息是否会丢失和重复消费(转)
在之前的基础上,基本搞清楚了Kafka的机制及如何运用.这里思考一下:Kafka中的消息会不会丢失或重复消费呢?为什么呢? 要确定Kafka的消息是否丢失或重复,从两个方面分析入手:消息发送和消息消费 ...
- 【HTTP】无状态无连接的含义
无连接:服务器处理完客户的请求,并收到客户的应答后,即断开连接. 早期这么做的原因是HTTP协议产生于互联网,因此服务器需要处理同时面向全世界数十万.上百万客户端的网页访问,但每个客户端(即浏览器)与 ...
- [Luogu] Mayan游戏
https://www.luogu.org/problemnew/show/P1312 太恶心了 #include <cstdio> #include <algorithm> ...
- Noip2016 提高组 Day2 T1 组合数问题
题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...
- MyBatis-Plus的一些问题
图一图二分别是搜索设计师的动态sql,已知这个字段是integer类型.为什么用=号查询的时候会显示查询超时.但是我把sql打印出来的结果直接去执行,时间在一秒是可以出来结果的. 但是用like一个i ...
- sql语句中where 1=1和 0=1 的作用
sql where 1=1和 0=1 的作用 where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句. 一.不用where 1=1 在多条件查询中的 ...
- shell [ ] 和 [[ ]] 区别
[参考文章]:shell if [[ ]]和[ ]区别 || && [参考文章]:Shell test 命令 1. [ ] 和 test test 等同于 [ ] 可用于判断某个条件 ...
- 爬虫实践——数据存储到Excel中
在进行爬虫实践时,我已经爬取到了我需要的信息,那么最后一个问题就是如何把我所爬到的数据存储到Excel中去,这是我没有学习过的知识. 如何解决这个问题,我选择先百度查找如何解决这个问题. 百度查到的方 ...
- Java获取当前时间及String、datetime、date相互转化
一.获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStrin ...