TypeScript Map 对象学习笔记
什么是 Map 对象?
Map 是一种键值对的数据结构,它与 JavaScript 中的 Object 类似,但是 Map 允许键不仅仅是字符串类型,而可以是任何类型的值。
在 TypeScript 中,可以通过以下方式创建一个 Map 对象:
Copy Codelet myMap = new Map();
Map 方法介绍
set()
向 Map 对象中添加新的键值对:
Copy CodemyMap.set(key, value);
例如:
typescriptCopy Codelet myMap = new Map();
myMap.set('name', 'Tom');
myMap.set(1, 'One');
get()
获取 Map 对象中指定键的值:
Copy CodemyMap.get(key);
例如:
typescriptCopy Codelet myMap = new Map();
myMap.set('name', 'Tom');
myMap.set(1, 'One');
console.log(myMap.get('name')); // 输出 "Tom"
console.log(myMap.get(1)); // 输出 "One"
has()
判断一个键是否存在于 Map 对象中:
Copy CodemyMap.has(key);
例如:
typescriptCopy Codelet myMap = new Map();
myMap.set('name', 'Tom');
myMap.set(1, 'One');
console.log(myMap.has('name')); // 输出 true
console.log(myMap.has(2)); // 输出 false
delete()
删除 Map 对象中指定键的键值对:
Copy CodemyMap.delete(key);
例如:
typescriptCopy Codelet myMap = new Map();
myMap.set('name', 'Tom');
myMap.set(1, 'One');
myMap.delete('name');
console.log(myMap); // 输出 Map(1) {1 => "One"}
clear()
删除 Map 对象中所有的键值对:
Copy CodemyMap.clear();
例如:
typescriptCopy Codelet myMap = new Map();
myMap.set('name', 'Tom');
myMap.set(1, 'One');
myMap.clear();
console.log(myMap); // 输出 Map(0) {}
Map 实例
下面是一个使用 Map 对象存储学生信息的示例:
typescriptCopy Codelet studentInfo = new Map();
studentInfo.set('001', {
name: 'Tom',
age: 18,
gender: 'male'
});
studentInfo.set('002', {
name: 'Lily',
age: 17,
gender: 'female'
});
console.log(studentInfo.get('001')); // 输出 {name: "Tom", age: 18, gender: "male"}
console.log(studentInfo.has('003')); // 输出 false
通过上述示例代码,我们可以看到 Map 对象非常适合用于存储和管理键值对形式的数据。