1 //Map与Array的对比 2 { 3 let map=new Map(); 4 let array=[]; 5 //增 6 map.set('t',1); 7 array.push({t:1}); 8 console.info('map-Array',map,array); 9 //查 10 let map_exist=map.has('t'); 11 let array_exist=array.find(item=>item.t); 12 console.info('map-Array',map_exist,array_exist);//true,{'t':1} 13 //改 14 map.set('t',2); 15 array.forEach(item=>item.t?item.t=2:'') 16 console.info('map-Array',map,array); 17 //删 18 map.delete('t'); 19 let index =array.findIndex(item=>item.t); 20 array.splice(index,1); 21 console.info('map-Array',map,array); 22 } 23 //Set与Array的对比 24 { 25 let set = new Set(); 26 let array=[]; 27 //增 28 set.add({t:1}); 29 array.push({t:1}); 30 console.info('set-Array',set,array); 31 //查 32 let set_exist=set.has({t:1}); 33 let array_exist=array.find(item=>item.t); 34 console.info('set-Array',set_exist,array_exist);//false,{'t':1} 35 //改 36 set.forEach(item=>item.t?item.t=2:'') 37 array.forEach(item=>item.t?item.t=2:'') 38 console.info('set-Array',set,array); 39 //删 40 set.forEach(item=>item.t?set.delete(item):'') 41 let index =array.findIndex(item=>item.t); 42 array.splice(index,1); 43 console.info('map-Array',set,array); 44 } 45 //Map和Set与Object的对比 46 { 47 let item={t:1}; 48 let map = new Map(); 49 let set = new Set(); 50 let obj={}; 51 52 //增 53 map.set('t',1); 54 set.add(item); 55 obj['t']=1; 56 57 console.info('map-set-obj',obj,map,set); 58 59 //查 60 console.info({ 61 map_exist:map.has('t'), 62 set_exist:set.has(item), 63 obj_exist:'t' in obj 64 }) 65 66 //改 67 map.set('t',2); 68 item.t=2; 69 obj['t']=2; 70 console.info(obj,map,set); 71 //删除 72 map.delete('t'); 73 set.delete(item); 74 delete obj['t']; 75 console.info(obj,map,set) 76 77 } 78 //开发过程中数据结构,使用map,如果考虑数据结构的唯一性用set