TypeScript 元组
TypeScript 枚举 

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 的基本概述。它是一种多功能的数据结构,在许多编程场景中非常有用。