new Map()
定义
键/值对的集合
语法
let mapObj = new Map();
备注
集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值
属性
| 属性名 | 说明 |
|---|---|
| 构造函数 | 指定创建映射的函数 |
| Prototype-原型 | 为映射返回对原型的引用 |
| size | 返回映射中的元素数 |
方法
| 方法名 | 使用方式 | 说明 |
|---|---|---|
| set | mapObj.set(key, value) | set方法设置key所对应的键值,然后返回整个Map结构。如果key已经有值,则键值会被更新,否则就新生成该键 |
| get | mapObj.get(key) | get方法读取key对应的键值,如果找不到key,返回undefined |
| has | mapObj.has(key) | has方法返回一个布尔值,表示某个键是否在Map数据结构中 |
| delete | mapObj.delete(key) | delete方法删除某个键,返回true,如果删除失败,则返回false |
| clear | mapObj.clear() | clear方法清除所有成员,没有返回值 |
使用for..of方法迭代Map
let yyMap = new Map();
yyMap.set(0, 'yydream');
yyMap.set('age', 25);
for(let [key, value] of yyMap) {
console.log(key + " = " + value);
// 将会显示两个log,一个是'0 = yydream' 另一个是 'age = 25'
}
for(let key of yyMap.keys()) {
console.log(key);
// 显示两个log, 一个是 '0', 一个是 'age'
}
for(let value of yyMap.values()) {
console.log(value);
// 显示两个log, 一个是 'yydream', 另一个是 25
}
for(let [key, value] of yyMap.entries()) {
console.log(key + ' = ' + value);
// 将会显示两个log, 一个是 '0 = yydream',另一个是 'age = 25'
}
使用forEach() 方法迭代Map
yyMap.forEach((value, key) => {
console.log(key + ' = ' + value);
// 将会显示两个log, 一个是 '0 = yydream',另一个是 'age = 25'
})