es6——map-set与对象对比
{ //map,set,object对比 let item={t:1}; let map=new Map(); let set=new Set(); let obj={}; //增 map.set('t',1); set.add(item); obj['t']=1; console.log('map-set-object增',map,set,obj); }
console.info({ map_exsit:map.has('t'), set_exist:set.has(item), obj_exist:'t' in obj })
//改 map.set('t',2); item.t=2; obj['t']=2; console.info('map-set-object改',map,set,obj);
//删 map.delete('t'); set.delete(item); delete obj['t']; console.info('map-set-object删',map,set,obj);
总结:object的语义性没有map和set好,map的使用成本较低 优先使用map,如果对数据的唯一性要求高,用set,放弃使用object做存储,数组也少用