Voici une brève comparaison entre eux
Elle est principalement expliquée sous quatre aspects : ajout, suppression, modification et vérification. Pour plus de détails, voir le code .
1. Comparaison entre la carte et le tableau
{ // 数据结构横向对比,增,查,改,删 let map=new Map(); let array=[]; // 增 map.set('t',1); array.push({t:1}); console.info('map-array',map,array); // 查 let map_exist=map.has('t'); let array_exist=array.find(item=>item.t); console.info('map-array',map_exist,array_exist); // 改 map.set('t',2); array.forEach(item=>item.t?item.t=2:''); console.info('map-array-modify',map,array); // 删 map.delete('t'); let index=array.findIndex(item=>item.t); array.splice(index,1); console.info('map-array-empty',map,array); }
2.
{ // set和array的对比 let set=new Set(); let array=[]; // 增 set.add({t:1}); array.push({t:1}); console.info('set-array',set,array); // 查 let set_exist=set.has({t:1}); let array_exist=array.find(item=>item.t); console.info('set-array',set_exist,array_exist); // 改 set.forEach(item=>item.t?item.t=2:''); array.forEach(item=>item.t?item.t=2:''); console.info('set-array-modify',set,array); // 删 set.forEach(item=>item.t?set.delete(item):''); let index=array.findIndex(item=>item.t); array.splice(index,1); console.info('set-array-empty',set,array); }
3. Comparaison de la carte, de l'ensemble et de l'objet
{ // 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.info('map-set-obj',obj,map,set); // 查 console.info({ map_exist: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-obj-modify',obj,map,set); // 删除 map.delete('t'); set.delete(item); delete obj['t']; console.info('map-set-obj-empty',obj,map,set); }
Par comparaison, on peut constater que ceux qui peuvent utiliser la carte devraient être utilisés en premier au lieu des tableaux
Compte tenu du caractère unique de. data, envisagez d'utiliser set au lieu d'utiliser Object
Dans le développement futur, vous pouvez donner la priorité à l'utilisation de map et set, et vous pouvez abandonner les tableaux et les objets
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!