Kart vs objekt i JavaScript

Kart Vs Objekt I Javascript



' Kart ' og ' Gjenstand ” er to vanlige datastrukturer i JavaScript som brukes til å lagre nøkkelverdi-par. Et kart brukes når du trenger en datastruktur som kan lagre en hvilken som helst datatype som en nøkkel eller verdi og trenger en ordnet samling av nøkkelverdi-par. Mens Objekt brukes når du bare trenger å lagre strengnøkler.

Dette innlegget vil forklare forskjellen mellom kart og objekt i JavaScript.

Hvordan definere et objekt i JavaScript?

I JavaScript er et objekt en samling egenskaper, hver med et nøkkelverdi-par. « nøkkel ' er den ' Navn ', og en ' verdi ' er 'verdien' mot nøkkelen. Objekter kan representere virkelige objekter, som en bil, en person eller en bankkonto. De kan også representere mer abstrakte objekter, som et matematisk punkt i rommet, en farge eller en dato.







Syntaks



Et objekt kan opprettes ved hjelp av bokstavelig objektnotasjon {} parentes eller objektkonstruktøren. Bruk den bokstavelige notasjonen eller parentesene, bruk syntaksen nedenfor:



konst gjenstand = {
nøkkel : verdi,
nøkkel : verdi
}

Opprette et objekt ved å bruke objektkonstruktøren eller ' ny ' nøkkelord, bruk følgende syntaks:





konst gjenstand = ny Gjenstand ( ) ;

gjenstand. nøkkel = verdi ;

Merk: Husk at nøklene eller navnene til objektegenskapene må være en streng.

Eksempel 1: Lag et objekt ved å bruke bokstavelig notasjon i JavaScript

I følgende eksempel vil vi lage et objekt kalt ' stdObject ' ved å bruke bokstavelig notasjon eller parentes:



var stdObject = {
Navn : 'John' ,
alder : 18 ,
rollno : 25 ,
standard : 9
}

Skriv ut objektet på konsollen:

konsoll. Logg ( stdObject ) ;

Produksjon

Eksempel 2: Lag et objekt ved å bruke Object Constructor i JavaScript

Her vil vi lage et objekt ved å bruke objektkonstruktøren ved å bruke ' ny ' nøkkelord:

konst stdObject = ny Gjenstand ( ) ;

Legg nå til egenskapene (nøkkelverdi) til objekter ved å bruke punkt(.)-notasjonen:

stdObject. Navn = 'fan' ;

stdObject. alder = 19 ;

stdObject. rollno = femten ;

stdObject. standard = 10 ;

Til slutt, vis objektet på konsollen ved å bruke ' console.log() ' metode:

konsoll. Logg ( stdObject ) ;

Produksjon

Hvordan definere kart i JavaScript?

I JavaScript, en ' Kart ” er en datastruktur som inneholder nøkkel-verdi-par som ligner på et objekt. Den lar deg knytte data til nøkler og hente dataene senere ved å bruke tastene. Kart kan brukes til å implementere ordbøker, hashtabeller og andre datastrukturer som tilordner nøkler til verdier.

Syntaks

For å initialisere et kart, bruk følgende syntaks:

konst kart = ny Kart ( [

[ 'nøkkel' , 'verdi' ] ,

[ 'nøkkel' , 'verdi' ]

] ) ;

Du kan også opprette et kart ved å bruke kartkonstruktøren eller ved å bruke den nye operatoren, og angi verdier ved å bruke ' sett() ' metode:

konst kart = ny Kart ( ) ;

kart. sett ( 'nøkkel' , 'verdi' ) ;

Eksempel: Lag et kart i JavaScript

I det gitte eksemplet vil vi lage et kart ved å bruke begge syntaksene.

Lag et kart ved å bruke initialiseringsmetoden. Her vil vi sette nøkler som en streng mens du kan sette nøkler i et kart i alle typer:

konst kartStd = nytt kart ( [
[ 'Navn' , 'John' ] ,
[ 'alder' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standard' , 9 ] ,
] ) ;

Eller lag et kart ved å ringe kartkonstruktøren eller det nye nøkkelordet/operatøren:

konst kartStd = ny Kart ( ) ;

Angi verdier i kart i et nøkkelverdi-par ved å bruke ' sett() ' metode:

kartStd. sett ( 'Navn' , 'John' ) ;

kartStd. sett ( 'alder' , 18 ) ;

kartStd. sett ( 'rollno' , 25 ) ;

kartStd. sett ( 'standard' , 9 ) ;

For å skrive ut kartet på konsollen, bruk ' innganger() '-metoden med ' for-av ' Løkke:

til ( konst [ nøkkel, verdi ] av kartStd. innganger ( ) ) {

konsoll. Logg ( `$ { nøkkel } : $ { verdi } ` ) ;

}

Eller for å få tilgang til verdien av en spesifikk nøkkel/egenskap, bruk ' få() ' metode:

konsoll. Logg ( 'The rollno of' + kartStd. ( 'Navn' ) + ' er ' + kartStd. ( 'rollno' ) ) ;

Utdataene indikerer alle egenskapene til kartet og verdien til den spesifikke egenskapen:

Kart vs objekt i JavaScript

Den primære forskjellen mellom kartet og objektet er som følger:

Kart Gjenstand
Det ble introdusert i ECMAScript 6 i 2015. JavaScript introduserte objektdatatypen i sin første versjon (ECMAScript 1) utgitt i 1997.
Kart tillater nøkler av enhver datatype (f.eks. objekter, funksjoner, tall osv.). Objektnøkler må være strenger.
Egenskapene til et kart kan nås ved å bruke get()-metoden. Objektegenskaper kan nås ved å bruke punktnotasjon eller notasjon med firkantet parentes.
Kart har en innebygd størrelsesegenskap for å returnere antall nøkkelverdi-par Objektet har ikke denne funksjonen.
Kartet er itererbart. Den tillater å gå gjennom alle nøkkelverdi-par ved å bruke noen innebygde metoder som forEach(), keys(), values() og entries(). Objektet kan ikke itereres. Det er behov for å bruke 'for-in'-løkker eller Object.entries()-metoden for å iterere nøkkelverdi-par.
Kart er bestilt. Objektet er uordnet.

Når du arbeider med små datasett, er ytelsesforskjellen mellom kart og objekter ubetydelig, men når du arbeider med større datasett, kan Maps være raskere ettersom de er optimert for ytelse.

Når foretrekker kart over objekter i JavaScript?

Når du trenger å lagre nøkkel-verdi-par i en ordnet form eller verdien som en nøkkel være en hvilken som helst datatype, for eksempel tall, objekter eller symboler, bruk ' Kart ' data struktur. Objekter vil bli brukt når du trenger å bruke strenger som nøkler og når du ikke trenger noen av funksjonene i Maps. Ytelsesforskjellen mellom kart og objekter er ubetydelig når du arbeider med små datasett, men når du arbeider med større datasett, kan Maps være raskere ettersom de er optimert for ytelse.

Konklusjon

Kart og objekt brukes begge til å lagre data som nøkkelverdi-par i JavaScript, men de har noen forskjeller. Kart er en kraftigere og mer fleksibel datastruktur enn Object, og er det foretrukne valget når du skal lagre nøkkel-verdi-par som må bestilles, ha nøkler av forskjellige datatyper eller ha en størrelsesegenskap. Dette innlegget forklarte forskjellen mellom kart og objekt i JavaScript.