javascript基础系列之Map
javascript基础系列之Map
常见操作
1 | const map1 = new Map(); |
Map和Object对比
Map | Object | |
---|---|---|
自定义键名 | Map默认不包含任何键 | Object原型上的键名可能和对象上的键名有冲突 |
键类型 | Map的键可以是任意值 | Object键必须是String或是Symbol |
键排序 | Map中的key是有序的 | Object的键是无序的 |
长度 | Map键值对可以通过size获取 | Object的键值个数只能手动计算 |
迭代 | Map是iterable,可以被迭代 | Object需要获取键名后才能被迭代 |
性能 | 频繁增删键值性能更好 | 添加删除字符串未优化 |
构造函数Map
1 | // 构造函数Map 创建Map对象,参数可以是数组或者iterable对象 |
实例属性
Map.prototype.size
1 | // 实例属性 |
实例方法
Map.prototype.clear
1 | // Map.prototype.clear 移除Map对象中的所有元素 |
Map.prototype.delete
1 | // Map.prototype.delete 删除Map对象中指定的元素 |
Map.prototype.get
1 | // Map.prototype.get 返回某个Map对象中的指定元素 |
Map.prototype.has
1 | // Map.prototype.has 判断Map中是否存在指定的元素,返回boolean值 |
Map.prototype.set
1 | // Map.prototype.set 给Map对象添加或更新键值对 |
迭代方法
Map.prototype[@@iterator]
1 | // Map.prototype[@@iterator] |
Map.prototype[keys|values|entries]
1 | // Map.prototype.keys 返回包含每个元素key值的iterator对象 |
Map.prototype.forEach
1 | // Map.prototype.forEach 按插入顺序对Map对象中国的每个键值对执行一次处理(回调)函数 |