Map数据结构

发布时间:2019-08-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Map数据结构脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

JavaScript对象本质上是键值对的集合,但是只能用字符串作为键。针对这个问题,es6提出了Map数据结构。
Map类似于对象,但是“键”的范围不限于字符串,各种类型的值都可以当做键。
Object提供的是‘字符串--值’;
Map提供的是‘值--值’;
对于‘键值对的数据结构’,Map比Object更加合适。

对象作为键

clipboard.png

Map可以接受的参数

1、数组可以作为Map的参数。
clipboard.png
2、任何具有Interator接口,且每个成员都是一个双元素数组的数据结构。都可以作为Map的参数。

Map数据结构


3、Map中获取一个不存在的值,会返回undefined

Map数据结构

Map的键

Map的键实际上是和内存地址绑定的,只要内存地址不同,就可以视为两个键。我们扩展别人的库时,如果使用对象作为键名,不用担心自己的属性与原作者的属性同名。
Map的键是复杂类型(即使长得像,也没有指向同一块内存)

Map数据结构

Map的键是简单类型
【1】为数字时
+0和-0代表相同

Map数据结构

【2】为字符创和布尔类型
true和‘true’是不同的。

Map数据结构

实例属性和操作方法

属性:
size属性 返回Map结构的成员总数

Map数据结构

操作方法
set(key,value) 设置key所对应的键值(采用链式写法)

Map数据结构

get(key) 根据key读取对应键值

Map数据结构

has(key) 某个键是否在Map数据结构中

Map数据结构

delete(key) 删除某键

Map数据结构

clear() 清除所有成员

Map数据结构

遍历方法

1、keys() 返回键名的遍历器
2、values() 返回键值的遍历器
3、entries() 返回键值对的遍历器
4、foreach() 遍历Map的所有成员。

Map数据结构

Map与其他数据结构的转换

1、Map转为数组
最方便的方法是使用@R_777_1301@(...)

Map数据结构

2、数组转为Map 注意:如果不是[[]]会出错

Map数据结构

3、Map转为对象
Map转为对象的前提是:Map的所有键都是字符串,才可以转为对象。

Map数据结构

4、对象转为Map

Map数据结构

5、Map转为JSON
【1】Map键名是字符串,可以选择转为对象JSON。(先转为对象,在转为json)

Map数据结构

【2】Map键名有非字符串,可以选择转为数组JSON。

Map数据结构

6、JSON转为Map
【1】所有键名都是字符串(先将对象转为Map)

Map数据结构

【2】整个JSON就是一个数组

Map数据结构

脚本宝典总结

以上是脚本宝典为你收集整理的Map数据结构全部内容,希望文章能够帮你解决Map数据结构所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。