Map
Map
在 TypeScript 中,Map
是一种用于存储键值对的集合类型。与 Set
类似,Map
中的键和值都可以是任意类型的,且每个键只能出现一次。
定义一个 Map
的语法如下:
let myMap = new Map<string, number>();
这里的 myMap
是一个空的 Map
,它可以存储键为字符串类型,值为数字类型的键值对。也可以在创建 Map
的同时指定初始值,例如:
let myMap = new Map<string, number>([
["a", 1],
["b", 2],
["c", 3]
]);
这里的 myMap
包含了三个键值对,分别是 "a": 1
、"b": 2
和 "c": 3
。
Map
对象提供了一系列方法用于添加、删除和查找元素等操作。例如,可以使用 set()
方法向 Map
中添加新的键值对,使用 delete()
方法删除键值对,使用 get()
方法查找键对应的值。例如:
let myMap = new Map<string, number>();
myMap.set("a", 1); // 添加键值对 "a": 1 到 Map 中
myMap.set("b", 2); // 添加键值对 "b": 2 到 Map 中
myMap.set("c", 3); // 添加键值对 "c": 3 到 Map 中
myMap.delete("b"); // 从 Map 中删除键为 "b" 的键值对
console.log(myMap.get("a")); // 输出 1
console.log(myMap.get("b")); // 输出 undefined
Map
对象还可以使用 forEach()
方法来遍历集合中的键值对。例如:
let myMap = new Map<string, number>([
["a", 1],
["b", 2],
["c", 3]
]);
myMap.forEach(function(value, key) {
console.log(key + " = " + value);
});
// 输出:
// a = 1
// b = 2
// c = 3
需要注意的是,Map
中的键必须是唯一的,因此,如果向 Map
中添加重复的键,后面的值会覆盖前面的值。另外,Map
中的键值对没有特定的顺序,因此,不能使用索引来访问 Map
中的元素。如果需要按照一定的顺序访问 Map
中的键值对,可以将 Map
转换成数组,然后再进行操作。