Kart vs objekt i JavaScript

Kart vs objekt i JavaScript
Kart”Og“Gjenstand”Er to vanlige datastrukturer i JavaScript som brukes til å lagre nøkkelverdipar. Et kart brukes når du trenger en datastruktur som kan lagre hvilken som helst datatype som en nøkkel eller verdi og trenger en bestilt samling av nøkkelverdipar. Mens objekt brukes når du bare trenger å lagre strengetastene.

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

Hvordan definere et objekt i JavaScript?

I JavaScript er et objekt en samling av egenskaper, hver med et nøkkelverdipar. “nøkkel" er den "Navn”, Og en“verdi”Er“ verdien ”mot nøkkelen. Objekter kan representere gjenstander i den virkelige verden, 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 date.

Syntaks

Et objekt kan opprettes ved hjelp av bokstavelig objektnotasjon braketter eller objektkonstruktøren. Bruk syntaksen nedenfor med bokstavelig notasjon eller parentes

const objekt =
Nøkkel: Verdi,
Nøkkel: Verdi

Opprette et objekt ved hjelp av objektkonstruktøren eller "ny”Søkeord, bruk følgende syntaks:

const objekt = nytt objekt ();
gjenstand.nøkkel = verdi;

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

Eksempel 1: Lag et objekt ved hjelp av bokstavelig notasjon i JavaScript

I det følgende eksemplet vil vi lage et objekt som heter “stdobject”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 hjelp av objektkonstruktør i JavaScript

Her vil vi lage et objekt ved hjelp av objektkonstruktøren som bruker "ny”Nøkkelord:

const stdObject = nytt objekt ();

Legg nå egenskapene (nøkkelverdien) av objekter ved å bruke prikken (.) Notasjon:

stdobject.Navn = 'Jodan';
stdobject.Alder = 19;
stdobject.rollno = 15;
stdobject.standard = 10;

Til slutt kan du vise objektet på konsollen ved å bruke "konsoll.Logg()”Metode:

konsoll.logg (stdobject);

Produksjon

Hvordan definere kart i JavaScript?

I JavaScript, et “Kart”Er en datastruktur som inneholder nøkkelverdipar som ligner på et objekt. Den lar deg knytte data til nøkler og hente dataene senere ved å bruke nøklene. Kart kan brukes til å implementere ordbøker, hasjtabeller og andre datastrukturer som kartlegger tastene til verdier.

Syntaks

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

const kart = nytt kart ([
['nøkkel', 'verdi'],
['nøkkel', 'verdi']
]);

Du kan også opprette et kart ved hjelp av kartkonstruktøren eller ved å bruke den nye operatøren, og angi verdier ved å bruke "sett()”Metode:

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

Eksempel: Lag et kart i JavaScript

I det gitte eksemplet vil vi lage et kart med begge syntaks.

Lag et kart ved hjelp av initialiseringsmetoden. Her setter vi nøkler som en streng mens du kan stille inn nøkler på et kart i alle typer:

const mapStd = newMap ([
['Navn', 'John'],
['Alder', 18],
['Rollno', 25],
['Standard', 9],
]);

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

const mapStd = nytt kart ();

Angi verdier i kart i et nøkkelverdipar ved å bruke “sett()”Metode:

Mapstd.sett ('navn', 'John');
Mapstd.sett ('alder', 18);
Mapstd.sett ('rollno', 25);
Mapstd.sett ('standard', 9);

For å skrive ut kartet på konsollen, bruk "innganger()”Metode med“for-of" Løkke:

for (const [nøkkel, verdi] av MAPSTD.innganger())
konsoll.log ('$ Key: $ verdi');

Eller for tilgang til verdien av en spesifikk nøkkel/eiendom, bruk "få()”Metode:

konsoll.Logg ("Rollno of" + mapstd.få ('navn') + "er" + mapstd.få ('rollno'));

Utgangen indikerer alle egenskapene til kartet og verdien av den spesifikke egenskapen:

Kart vs objekt i JavaScript

Den primære forskjellen mellom MAP 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 hvilken som helst datatype (e.g., objekter, funksjoner, tall osv.). Objektnøkler må være strenger.
Egenskapene til et kart kan nås ved bruk av get () -metoden. Objektegenskaper kan nås ved å bruke prikknotasjon eller firkantet brakettnotasjon.
Kart har en innebygd størrelsesegenskap for å returnere antall nøkkelverdipar Objekt har ikke denne funksjonen.
Kart er iterable. Det tillater looping gjennom alle nøkkelverdipar ved å bruke noen innebygde metoder som foreach (), nøkler (), verdier () og oppføringer (). Objektet er ikke iterable. Det er behov for å bruke "for-in" -løkker eller objekt.Oppføringer () Metode for itererende nøkkelverdipar.
Kart er bestilt. Objektet er uordnet.

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

Når foretrekker kart fremfor objekter i JavaScript?

Når du trenger å lagre nøkkelverdipar i en bestilt form eller verdien som en nøkkel, er 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 kart. Resultatforskjellen mellom kart og objekter er ubetydelig mens du jobber med små datasett, men når du jobber med større datasett, kan kart være raskere da de er optimalisert for ytelse.

Konklusjon

Kart og objekt brukes begge til å lagre data som nøkkelverdipar i JavaScript, men de har noen forskjeller. MAP er en kraftigere og fleksibel datastruktur enn objekt, og er det foretrukne valget når du trenger å lagre nøkkelverdipar som må bestilles, har nøkler med forskjellige datatyper, eller har en eiendom i størrelse. Dette innlegget forklarte forskjellen mellom kart og objekt i JavaScript.