JavaScript 地图
A 地图 保存键值对,其中键可以是任何数据类型。
A 地图 记住按键的原始插入顺序。
A 地图 具有表示地图大小的属性。
地图方法
方法 | 描述 |
---|---|
新的 Map() | 创建一个新的 Map 对象 |
放() | 设置 Map 中键的值 |
得到() | 获取 Map 中键的值 |
清除() | 从 Map 中删除所有元素 |
删除() | 删除指定键的 Map 元素 |
有() | 如果 Map 中存在某个键,则返回 true |
forEach() | 为 Map 中的每个键/值对调用回调 |
条目() | 返回带有 Map 中的 [key, value] 对的迭代器对象 |
键() | 返回带有 Map 中键的迭代器对象 |
值() | 返回 Map 中值的迭代器对象 |
财产 | 描述 |
---|---|
尺寸 | 返回地图元素的数量 |
如何创建地图
您可以通过以下方式创建 JavaScript 地图:
- 传递数组给
new Map()
- 创建地图并使用
Map.set()
新的 Map()
您可以通过将数组传递给 new Map()
构造函数:
地图.set()
您可以使用 set()
方法:
这 set()
方法也可用于改变现有的 Map 值:
地图.get()
这 get()
方法获取 Map 中某个键的值:
放置您的广告!
地图大小
这 size
属性返回 Map 中的元素数量:
地图.删除()
这 delete()
方法删除 Map 元素:
地图.清除()
这 clear()
方法从 Map 中删除所有元素:
Map.has()
这 has()
如果 Map 中存在某个键,则方法返回 true:
地图是对象
typeof
返回对象:
instanceof
地图返回 true:
JavaScript 对象与地图
JavaScript 对象和 Map 之间的区别:
目的 | 地图 | |
---|---|---|
可迭代 | 不可直接迭代 | 直接可迭代 |
尺寸 | 没有 size 属性 | 具有 size 属性 |
密钥类型 | 键必须是字符串(或符号) | 键可以是任何数据类型 |
按键顺序 | 按键顺序不正确 | 键按插入顺序排列 |
默认值 | 有默认键 | 没有默认键 |
地图.forEach()
这 forEach()
方法为 Map 中的每个键/值对调用一个回调:
地图.keys()
这 keys()
方法返回一个带有 Map 中键的迭代器对象:
Map.values()
这 values
方法返回一个带有 Map 中值的迭代器对象:
地图.条目()
这 entries()
方法返回一个带有 Map 中的 [key,values] 的迭代器对象:
对象作为键
能够使用对象作为键是 Map 的一个重要特性。
例子
// 创建对象
const 苹果 = {名称:'苹果'};
const bananas = {名称:'香蕉'};
const oranges = {名称:'Oranges'};
// 创建地图
const 水果 = new Map();
// 向地图添加新元素
水果.设置(苹果,500);
水果.设置(香蕉,300);
水果.设置(橙子,200);
亲自尝试 »
请记住:键是一个对象(苹果),而不是一个字符串(“苹果”):
浏览器支持
除 Internet Explorer 外,所有浏览器都支持 JavaScript Maps:
铬合金 | 边缘 | 火狐 | 苹果浏览器 | 歌剧 |