Map 相关的函数与属性:
- map.clear() – 移除 Map 对象的所有键/值对 。
- map.set() – 设置键值对,返回该 Map 对象。
- map.get() – 返回键对应的值,如果不存在,则返回 undefined。
- map.has() – 返回一个布尔值,用于判断 Map 中是否包含键对应的值。
- map.delete() – 删除 Map 中的元素,删除成功返回 true,失败返回 false。
- map.size – 返回 Map 对象键/值对的数量。
- map.keys() - 返回一个 Iterator 对象, 包含了 Map 对象中每个元素的键 。
- map.values() – 返回一个新的Iterator对象,包含了Map对象中每个元素的值 。
迭代 Map
Map 对象中的元素是按顺序插入的,我们可以迭代 Map 对象,每一次迭代返回 [key, value] 数组。
TypeScript使用 for...of 来实现迭代:
// map中的迭代
let keys:Iterable<string> = map.keys();
// 迭代map中的所有键
for(let key of map.keys()) {
console.log("keys",key);
}
// 迭代map中的所有值
for(let value of map.values()) {
console.log("values",value);
}
// 迭代map
for(let entry of map.entries()){
console.log("entries1",entry[0], entry[1]);
}
for(let [key,value] of map.entries()) {
console.log("entries2",key, value);
}
// 遍历map
map.forEach((value:number,key:string,map:Map<string,number>)=>{
console.log("forEach",key,value);
});
// 清空map
map.clear();