JavaScript Maps
Map 包含键值对,其中键可以是任何数据类型。
Map 会记住键的原始插入顺序。
基本Maps方法
方法 | 描述 |
---|---|
new Map() | 创建新地图 |
set() | 设置映射中键的值 |
get() | 获取 Map 中键的值 |
delete() | 删除键指定的 Map 元素 |
has() | 如果 Map 中存在键,则返回 true |
forEach() | 为 Map 中的每个键/值对调用一个函数 |
entries() | 返回 Map 中具有 [key, value] 对的迭代器 |
属性 | 描述 |
size | 返回 Map 中的元素数 |
如何创建Maps
您可以通过以下方式创建 JavaScript 地图:
- 将数组传递给
new Map()
- 创建Map并使用
Map.set()
new Map() 方法
您可以通过将数组传递给 new Map()
构造函数来创建 Map
:
1 | // Create a Map |
set()方法
您可以使用set()
方法向 Map 添加元素:
1 | // Create a Map |
set()
方法还可用于更改现有 Map 值:
1 | fruits.set("apples", 200); |
get()方法
get()
方法获取 Map 中键的值:
1 | fruits.get("apples"); // Returns 500 |
size 属性
size
属性返回 Map 中的元素数:
1 | fruits.size; |
delete()方法
delete()
方法删除 Map 元素:
1 | fruits.delete("apples"); |
has()方法
如果 Map 中存在键,则has()
方法返回 true:
1 | fruits.has("apples"); |
:试试这个:
1 | fruits.delete("apples"); |
JavaScript 对象与Maps
JavaScript 对象和 Maps 之间的区别:
对象 | Map | |
---|---|---|
Iterable | 不可直接迭代 | 可直接迭代 |
Size | 没有 size 属性 | 具有 size 属性 |
Key Types | 键必须是字符串(或符号) | 键可以是任何数据类型 |
Key Order | 钥匙顺序不整 | 按键按插入顺序排序 |
Defaults | 具有默认键 | 没有默认密钥 |
forEach()方法
forEach()
方法为 Map 中的每个键/值对调用一个函数:
1 | // List all entries |
entries()方法
entries()
方法返回一个迭代器对象,其中包含 Map 中的 [key, values]:
1 | // List all entries |
浏览器支持
除 Internet Explorer 外,所有浏览器都支持 JavaScript Maps:
Chrome | Edge | Firefox | Safari | Opera |
0评论