一、Map数据类型产生的背景
- JavaScript 天生就有缺陷
- 34岁的系统程序员Brendan Eich只用10天时间就把Javascript设计出来了。(多肽语言)
- 所以javaScript自然是有缺陷的,所以就有了javaScript的更新版本
- ES6更新版本
- ES6版本 是一个非常重要的JavaScript版本
- 在 ES6版本时,对JavaScript的语法缺陷做了补充和修改
- 提出很多重要的语法结构:Class类、箭头函数、 Map、SET数据类型、方法函数等
- 让 JavaScript从 弱类型的计算机语言 进化为 半强类型的计算机语言
二、Map类型简介
- Map是一个类似于对象的数据类型
- 与常规对象和Array不同的是,它是“键控集合“
- 它的行为有稍许不同,并且在特定的上下文中使用,它可以提供相当大的性能优势
- 对象:
- 存储数据都是 键值对的形式
- 键名 : 数值 <-----> key : value
1.Map的工作形式
Map更像是以空间为代价,换取速度上的提升。那么对于空间和速度的衡量,必然存在一个阈值。在数据量比较少时,相比与速度的提升,其牺牲的空间代价更大,此时显然是不适合使用Map;当数据量足够大时,此时空间的代价影响更小。所以,看开发者如何衡量两者之间的关系,选择最优解。
2.Map的叫法
- 可以是MAP、Map或者map,一般大家都能理解
- 不过希望写成Map
- 而map是数组的常用方法(就跟 forEach 便历数组这样的方法)
3.Map基本语法:new Map()
三、Map的使用
1.定义Map数据类型
(1)语法形式1:构造函数形式 — 在声明时,同时赋值
- 参数必须是:
- 二维数组的形式
- 二维数组的键名是 Map单元数据的键名
- 二维数组的数值是 Map单元数据的数值
const m = new Map([ [键名1,数据1] , [键名2,数据2] ]);