Kaart vs objekt JavaScriptis

Kaart Vs Objekt Javascriptis



Kaart ” ja „ Objekt ” on kaks JavaScripti levinud andmestruktuuri, mida kasutatakse võtme-väärtuste paaride salvestamiseks. Kaarti kasutatakse siis, kui vajate andmestruktuuri, mis suudab võtme või väärtusena salvestada mis tahes andmetüüpi ja vajab järjestatud võtme-väärtuste paaride kogumit. Kuigi objekti kasutatakse siis, kui peate salvestama ainult stringi võtmed.

See postitus selgitab erinevust kaardi ja objekti vahel JavaScriptis.

Kuidas JavaScriptis objekti määratleda?

JavaScriptis on objekt atribuutide kogum, millest igaühel on võtme-väärtuste paar. ' võti ' on ' nimi ”, ja „ väärtus ” on „väärtus” võtme vastu. Objektid võivad esindada reaalseid objekte, nagu auto, inimene või pangakonto. Need võivad kujutada ka abstraktsemaid objekte, näiteks matemaatilist punkti ruumis, värvi või kuupäeva.







Süntaks



Objekti saab luua, kasutades sõnasõnalist objekti tähistust {} sulgudes või objektikonstruktorit. Kasutades sõnasõnalist tähistust või sulgusid, kasutage allolevat süntaksit:



konst objektiks = {
võti : väärtus,
võti : väärtus
}

Objekti loomine objektikonstruktori või ' uus ” märksõna, kasutage järgmist süntaksit:





konst objektiks = uus Objekt ( ) ;

objektiks. võti = väärtus ;

Märge: Pidage meeles, et objekti omaduste võtmed või nimed peavad olema stringid.

Näide 1: looge objekt JavaScriptis literaalse tähise abil

Järgmises näites loome objekti nimega ' stdObject ” kasutades sõnasõnalist tähistust või sulgusid:



var stdObject = {
nimi : 'John' ,
vanus : 18 ,
rollno : 25 ,
standard : 9
}

Printige objekt konsoolile:

konsool. logi ( stdObject ) ;

Väljund

Näide 2: looge objekt JavaScripti objektikonstruktori abil

Siin loome objekti, kasutades objekti konstruktorit, kasutades ' uus ” märksõna:

konst stdObject = uus Objekt ( ) ;

Nüüd lisage objektide omadused (võtmeväärtus), kasutades punkti (.) tähistust:

stdObject. nimi = 'persse' ;

stdObject. vanus = 19 ;

stdObject. rollno = viisteist ;

stdObject. standard = 10 ;

Lõpuks kuvage objekt konsoolil, kasutades ' console.log() ” meetod:

konsool. logi ( stdObject ) ;

Väljund

Kuidas JavaScriptis kaarti määratleda?

JavaScriptis on ' Kaart ” on andmestruktuur, mis sisaldab objektiga sarnaseid võtme-väärtuste paare. See võimaldab teil seostada andmeid võtmetega ja neid hiljem võtmete abil hankida. Kaarte saab kasutada sõnaraamatute, räsitabelite ja muude andmestruktuuride rakendamiseks, mis kaardistavad võtmed väärtustele.

Süntaks

Kaardi lähtestamiseks kasutage järgmist süntaksit:

konst kaart = uus Kaart ( [

[ 'võti' , 'väärtus' ] ,

[ 'võti' , 'väärtus' ]

] ) ;

Kaardi saate luua ka kaardikonstruktori või uue operaatori abil ja määrata väärtused, kasutades ' set() ” meetod:

konst kaart = uus Kaart ( ) ;

kaart. seatud ( 'võti' , 'väärtus' ) ;

Näide: looge kaart JavaScriptis

Antud näites loome kaardi, kasutades mõlemat süntaksit.

Looge kaart, kasutades lähtestamismeetodit. Siin määrame võtmed stringina, samal ajal kui saate määrata võtmeid kaardil mis tahes tüüpi:

konst mapStd = uus kaart ( [
[ 'nimi' , 'John' ] ,
[ 'vanus' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standard' , 9 ] ,
] ) ;

Või looge kaart, helistades kaardi koostajale või uuele märksõnale/operaatorile:

konst mapStd = uus Kaart ( ) ;

Määrake kaardis väärtused võtme-väärtuste paaris, kasutades nuppu ' set() ” meetod:

mapStd. seatud ( 'nimi' , 'John' ) ;

mapStd. seatud ( 'vanus' , 18 ) ;

mapStd. seatud ( 'rollno' , 25 ) ;

mapStd. seatud ( 'standard' , 9 ) ;

Kaardi printimiseks konsoolil kasutage ' kirjed () ' meetod koos ' for-of 'silmus:

jaoks ( konst [ võti, väärtus ] of mapStd. sissekandeid ( ) ) {

konsool. logi ( `$ { võti } : $ { väärtus } ` ) ;

}

Või mis tahes konkreetse võtme/atribuudi väärtusele juurdepääsuks kasutage nuppu ' saada () ” meetod:

konsool. logi ( 'The rollno of' + mapStd. saada ( 'nimi' ) + ' on ' + mapStd. saada ( 'rollno' ) ) ;

Väljund näitab kõiki kaardi omadusi ja konkreetse atribuudi väärtust:

Kaart vs objekt JavaScriptis

Peamine erinevus kaardi ja objekti vahel on järgmine:

Kaart Objekt
Seda tutvustati ECMAScript 6-s 2015. aastal. JavaScript tutvustas objekti andmetüüpi oma esimeses versioonis (ECMAScript 1), mis avaldati 1997. aastal.
Kaart võimaldab kasutada mis tahes andmetüüpi (nt objektid, funktsioonid, numbrid jne) võtmeid. Objekti võtmed peavad olema stringid.
Kaardi omadustele pääseb juurde meetodi get() abil. Objekti omadustele pääseb juurde punktide või nurksulgude märkimise abil.
Kaardil on sisseehitatud suuruse atribuut võtme-väärtuste paaride arvu tagastamiseks Objektil seda funktsiooni pole.
Kaart on itereeritav. See võimaldab silmuseid läbi kõigi võtme-väärtuste paaride, kasutades mõningaid sisseehitatud meetodeid, nagu forEach(), keys(), value() ja entries(). Objekt ei ole itereeritav. Võtme-väärtuste paaride itereerimiseks on vaja kasutada 'for-in' silmuseid või Object.entries() meetodit.
Kaart on tellitud. Objekt on järjestamata.

Väikeste andmekogumitega töötades on Mapsi ja objektide jõudluse erinevus tühine, kuid suuremate andmekogumitega töötades võib Maps olla kiirem, kuna need on jõudluse jaoks optimeeritud.

Millal eelistab kaart JavaScriptis objekte?

Kui teil on vaja salvestada võtme-väärtuse paarid järjestatud kujul või kui väärtus võtmena on mis tahes andmetüüp, näiteks numbrid, objektid või sümbolid, kasutage Kaart ” andmestruktuuri. Objekte kasutatakse siis, kui peate võtmetena kasutama stringe ja kui te ei vaja ühtegi Mapsi funktsiooni. Mapsi ja objektide jõudluse erinevus on väikeste andmekogumitega töötamisel tühine, kuid suuremate andmekogumitega töötades võib Maps olla kiirem, kuna need on jõudluse jaoks optimeeritud.

Järeldus

Nii kaarti kui ka objekti kasutatakse andmete salvestamiseks JavaScriptis võtme-väärtuse paaridena, kuid neil on mõned erinevused. Map on võimsam ja paindlikum andmestruktuur kui Object ning see on eelistatud valik, kui teil on vaja salvestada võtme-väärtuse paare, mida tuleb tellida, millel on erinevat tüüpi andmetüüpe võtmed või suurus. See postitus selgitas erinevust kaardi ja objekti vahel JavaScriptis.