Heim >Web-Frontend >js-Tutorial >Vergleich von Kartensätzen, Arrays und Objekten beim ES6-Lernen
Hier ist ein kurzer Vergleich zwischen ihnen
Es wird hauptsächlich in vier Aspekten erklärt: Hinzufügen, Löschen, Ändern und Überprüfen. Einzelheiten finden Sie im Code
1. Vergleich zwischen Karte und Array
{ // 数据结构横向对比,增,查,改,删 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. Vergleich zwischen Set und Array
{ // 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. Vergleich von Karte, Set und Objekt
{ // 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); }
Durch Vergleich kann festgestellt werden, dass diejenigen, die eine Karte verwenden können, zuerst anstelle von Arrays verwendet werden sollten.
In Anbetracht der Einzigartigkeit von Daten, erwägen Sie die Verwendung von Set anstelle von Object
In der zukünftigen Entwicklung können Sie der Verwendung von Map und Set Vorrang einräumen und auf Arrays und Objekte verzichten
Das obige ist der detaillierte Inhalt vonVergleich von Kartensätzen, Arrays und Objekten beim ES6-Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!