Object和Map比较

  • Object和Map,Map似Object(都存储键值对集合),但又有区别。
  • 适用场景
Object:仅做数据存储,属性仅为string、Symbol;需要转为json传输;
Map   :会频繁更新或删除k-v;存储大量数据且key不知;频繁进行迭代处理
  • Object
const obj={a:1 , b:2};//定义
obj.c = 3;//添加key-val
delete obj.c;//删除k-v
  • 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"]]

posted on   anjun_xf  阅读(27)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-05-05 同一条数据,两个人同时打开进行修改,A先提交并返回保存成功,然后B也提交提示保存成功,会发生B覆盖A内容,怎么解决

导航

TOP
点击右上角即可分享
微信分享提示