Map集合构造函数

JavaScript的对象(object),本质是上键值对的集合,但是传统上只能用字符串当做键值对。

为了解决这个问题,ES6提供了map数据结构。

那么这个map数据结构和普通的键值集合有什么不同之处呢?:

这个键的范围不限于字符串,各种类型的值(包括对象)都可以当做键。也就是说object结构提供了(字符串-值)的对应,map结构实现;

ES6中的map类型时一种储存着许多键值对的有序列表,其中的键名和对应的值支持所有数据类型。数字5与字符串‘5’会被判定为两种类型,可以分别作为两种独立的键出现在程序中。

Map中的方法:

1.set()

给map添加数据,返回添加后的map(给已存在的键赋值后会覆盖掉之前的值)

2. get()

获取某个key的值,返回key对应的值,没有则返回undefined

3.has()

检测是否存在某个key,返回布尔值

4.delete()

删除某个key及其对应的value,返回布尔值,成功删除则为true

5.clear()

清除所有的值,返回undefined

Map中的方法:

Map也有自己特殊的遍历方式:

一般我们是采用for in 之类的循环,但是在Map中直接循环一个对象,是循环不出来的,

所以我们要用for of循环,for of主要是用来循环Map迭代器的一种遍历方式;

MapIterator是Map的迭代器👇

MapIterator是Map的迭代器

Map遍历的顺序就是当时我们set插入的顺序:

1.keys()

获取map的所有key

2.values()

获取map的所有值

3.entries()

获取map的所有成员(也就是获取全部成员的key和值)

利用数组的解构赋值快速得到key和value:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容