Map 工作中用起来,从实际出发

138 阅读1分钟

「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」。

Map 的方法:

image.png

1.接受任何类型的键 划重点 是任何 any !!!

除了NaN比较特殊外,其他Map的get方法都是通过对比键名是否相等(===)来获取,不相等则返回undefined

image.png

image.png

2.map 与 object 比较

image.png image.png

3.键名类型

直接看几种比较特殊的键名,map支持正则作为键名 这在Object是不被允许的 直接报错

image.png

4.迭代器

Map 是可迭代的 可以直接进行迭代 例如forEach 循环或者for...of...循环 
但是对于Object 是不能直接迭代的 当你尝试迭代将导致报错

image.png

5.元素顺序和长度

Map 保持对长度的跟踪,使其够O(1)复杂度中进行访问 Object 想要获得对象的属性长度,
需要手动对其进行迭代,使其为0(n)复杂度 属性长度为n,Map 始终保持按插入顺序返回键名,
Object却不是,从ES6开始,StringSymbol键是按顺序保存起来的,但是通过隐式转换保存成String的
键就是乱序的

image.png

mdn地址:

developer.mozilla.org/zh-CN/docs/…

总结:

image.png