Map 对象
Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
Map 中的 key
1.key是字符串;
//(1) 第一种方法
let m1 = new Map();{创建一个map对象}
console.log(typeof (m1));{查看m1的类型}
let rtkey;
m1.set(rtkey, '给一个');
let b = m1.get(rtkey);
console.log(b);
// (2)第二种方法
let m2 = new Map()
m2.set('name', '奥迪');{往map对象中添加key,value}
m2.set('age', 20);
m2.set('sex', '男');
let re = m2.get('name');
console.log(re);
2.key是对象;
let myMap = new Map();
let keyObj = {},
myMap.set(keyObj, "和键 keyObj 关联的值");
myMap.get(keyObj); // "和键 keyObj 关联的值"
myMap.get({}); // undefined, 因为 keyObj !== {}
{
let m2 = new Map();
let keyfu;
m2.set(keyfu, {
id: 2,
name: "奥迪",
age: 20,
})
let r2 = m2.get(keyfu);
console.log(r2);
}
3,key是一个函数
var myMap = new Map();
var keyFunc = function () {}, // 函数
myMap.set(keyFunc, "和键 keyFunc 关联的值");
myMap.get(keyFunc); // "和键 keyFunc 关联的值"
myMap.get(function() {}) // undefined, 因为 keyFunc !== function () {}
{
let m3 = new Map();
let keyfun;
m3.set(keyfun, function () {
console.log("修建");
})
let r3 = m3.get(keyfun);
r3();
}
4.key是NaN
var myMap = new Map();
myMap.set(NaN, "not a number");
myMap.get(NaN); // "not a number"
var otherNaN = Number("foo");
myMap.get(otherNaN); // "not a number"