TypeScript Map
在 TypeScript 中,Map 是一种集合类型,用于存储键值对,类似于 JavaScript 中的 Map 对象,但它是 TypeScript 的类型安全版本。它类似于对象(Object),但有一些重要的区别和优势,特别是在类型安全和功能性方面。Map 是 TypeScript 中的一个集合类型,
定义和初始化 Map
在 TypeScript 中,可以使用 Map 类来创建一个新的 Map 对象,并初始化它。例如:
// 创建一个空的 Map
let provMap = new Map<string, string>();
// 使用 set 方法添加键值对
provMap.set('闽', '福建省');
provMap.set('鄂', '湖北省');
provMap.set('皖', '安徽省');
provMap.set('甘', '甘肃省');在这个例子中 provMap 是一个 Map 对象,包含了4个键值对。
Map的基本操作
new Map<K, V>():创建一个空的 Map。
map.set(key: K, value: V):向 Map 中添加一个键值对。
map.get(key: K):根据键获取对应的值。
map.has(key: K):检查 Map 中是否存在某个键。
map.delete(key: K):从 Map 中删除一个键值对。
map.clear():清除 Map 中的所有键值对。
map.size:返回 Map 中键值对的数量。
使用示例:
let provMap = new Map<string, string>();
// 使用 set 方法添加键值对
provMap.set('闽', '福建省');
provMap.set('鄂', '湖北省');
provMap.set('皖', '安徽省');
provMap.set('甘', '甘肃省');
console.log(provMap.get('甘')); // 甘肃省
console.log(provMap.has('鄂')); // true
console.log(provMap.size); // 4
console.log(provMap.delete('甘')); // true
provMap.clear();Map 遍历
可以使用 for...of 循环或 forEach 方法遍历 Map 中数据:
// 使用 for...of 循环
for (let [key, value] of provMap) {
console.log(`${key} = ${value}`);
}
// 使用 forEach 方法
provMap.forEach((value, key) => {
console.log(`${key} = ${value}`);
});Map 和对象的区别
不同于对象,Map 允许键可以是任意类型,包括对象。
对 Map 对象的迭代总是按插入顺序进行,而对象属性没有定义的顺序。
这是关于在 TypeScript 中使用 Map 的基本概述。它是一种多功能的数据结构,在许多编程场景中非常有用。