Maps in Minitab

使用 JavaScript 对 Map 进行操作

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()));