文章目录
map集合
以键值对方法存储值
Object和Map存储的都是键值对组合
区别:
(1) object的键的类型是 字符串 或者 Symbols;
map的键的类型是 可以是任意类型(要注意是否是引用类型)
(2)Map的键值是有序的,而对象不是
(3)Map的键值对数量可以通过size属性获取,
Object则需要通过Object.keys(obj).length类似的方式手动获取
(4)Object有自己的原型,原型链上的键名可能与对象的键名产生冲突
一、 get set
注意对象是引用类型值
对象、函数都是引用类型,需要使用同引用
Map的键值对数量可以通过size属性获取
let maparr=new Map(); //创建 使用new关键字
//set 设置key/value get 通过key获取
/*设置*/
maparr.set('name','张三');
maparr.set(1,'李四');
maparr.set({
a:2},'王五');
console.log(maparr.size); //3 返回map集合的长度
/*获取*/
console.log(maparr.get("name")); //张三
console.log(maparr.get(1)); //李四
console.log(maparr.get({
a:2})); //undefined [因为对象是引用类型,占据空间不同,不是同一个值]
所以,将对象定义为一个变量
let obj={
a:2};
maparr.set(obj,'王五');
console.log(maparr.get