Title here
Summary here
Maps 是 JavaScript 的内建关联数据类型(在其他语言中有时也称为哈希或字典)。
要创建一个空的 Map,可以使用内建的 new Map()
:
const m = new Map();
使用常规的 set
方法设置键/值对。
m.set("k1", 7);
m.set("k2", 13);
使用 console.log
打印 Map 时,会显示所有的键/值对。
console.log("map:", Array.from(m.entries())); // 转换为数组以便更易读
使用 get
方法获取键对应的值。
const v1 = m.get("k1");
console.log("v1:", v1);
如果键不存在,返回 undefined
。
const v3 = m.get("k3");
console.log("v3:", v3);
使用 size
属性获取 Map 中的键/值对数量。
console.log("size:", m.size);
使用 delete
方法移除 Map 中的键/值对。
m.delete("k2");
console.log("map:", Array.from(m.entries()));
要移除所有键/值对,可以使用 clear
方法。
m.clear();
console.log("map:", Array.from(m.entries()));
获取 Map 值时返回的第二个参数标识该键是否存在于 Map 中。
const prs = m.has("k2");
console.log("prs:", prs);
可以在同一行中声明并初始化一个新的 Map。
const n = new Map([
["foo", 1],
["bar", 2]
]);
console.log("map:", Array.from(n.entries()));
注意,当用 console.log
打印 Map 时,它会以 [k,v]
形式显示。
$ node maps.js
map: [ [ 'k1', 7 ], [ 'k2', 13 ] ]
v1: 7
v3: undefined
size: 2
map: [ [ 'k1', 7 ] ]
map: []
prs: false
map: [ [ 'bar', 2 ], [ 'foo', 1 ] ]
以下是完整的 JavaScript 示例代码:
// 创建一个空的 Map
const m = new Map();
// 设置键/值对
m.set("k1", 7);
m.set("k2", 13);
// 打印 Map
console.log("map:", Array.from(m.entries()));
// 获取键对应的值
const v1 = m.get("k1");
console.log("v1:", v1);
// 尝试获取不存在的键对应的值
const v3 = m.get("k3");
console.log("v3:", v3);
// 获取 Map 的大小
console.log("size:", m.size);
// 删除键/值对
m.delete("k2");
console.log("map:", Array.from(m.entries()));
// 清空 Map
m.clear();
console.log("map:", Array.from(m.entries()));
// 检查键是否存在
const prs = m.has("k2");
console.log("prs:", prs);
// 初始化一个新的 Map
const n = new Map([
["foo", 1],
["bar", 2]
]);
console.log("map:", Array.from(n.entries()));