- Object和Map,Map似Object(都存储键值对集合),但又有区别。
- 适用场景
Object:仅做数据存储,属性仅为string、Symbol;需要转为json传输;
Map :会频繁更新或删除k-v;存储大量数据且key不知;频繁进行迭代处理
- Map常用方法,有了Object为啥又有Map。
let mm=new Map();
mm.set(1,'a');//添加属性(不会把key强制转string)
mm.set('ab','aaaa');
mm.keys()//所有属性名
mm.values()//所有值
mm.has('ab')//是否存在属性1
mm.get('ab')//取值
mm.delete('ab')//删除
mm.clear()//清空
for(let k of mm){//Map可用。Object无iterator特性,无法使用for-of
}
for(let [k,v] of mm.entries()){
console.log(k,v);
}
JSON.stringify(mm);//仅返回{}
JSON.stringify(Array.from(mm))//返回:[[1,"a"],[12,"bb"],["ab","aaaa"]]
标签:Map,ab,mm,Object,let,比较,属性
From: https://www.cnblogs.com/anjun-xy/p/17375277.html