Karta nasuprot objektu u JavaScriptu

Karta Nasuprot Objektu U Javascriptu



Karta ' i ' Objekt ” dvije su uobičajene podatkovne strukture u JavaScriptu koje se koriste za pohranjivanje parova ključ-vrijednost. Karta se koristi kada vam je potrebna struktura podataka koja može pohraniti bilo koju vrstu podataka kao ključ ili vrijednost i potrebna je uređena kolekcija parova ključ-vrijednost. Dok se Object koristi kada trebate samo pohraniti ključeve nizova.

Ovaj će post objasniti razliku između karte i objekta u JavaScriptu.

Kako definirati objekt u JavaScriptu?

U JavaScriptu objekt je skup svojstava, od kojih svako ima par ključ-vrijednost. ' ključ ' je ' Ime ', i ' vrijednost ” je “vrijednost” u odnosu na ključ. Objekti mogu predstavljati objekte iz stvarnog svijeta, poput automobila, osobe ili bankovnog računa. Također mogu predstavljati apstraktnije objekte, poput matematičke točke u prostoru, boje ili datuma.







Sintaksa



Objekt se može stvoriti korištenjem doslovnog zapisa objekta {} zagrada ili konstruktora objekta. Koristeći doslovnu notaciju ili zagrade, upotrijebite donju sintaksu:



konst objekt = {
ključ : vrijednost,
ključ : vrijednost
}

Stvaranje objekta pomoću konstruktora objekta ili ' novi ”, koristite sljedeću sintaksu:





konst objekt = novi Objekt ( ) ;

objekt. ključ = vrijednost ;

Bilješka: Imajte na umu da ključevi ili nazivi svojstava objekta moraju biti nizovi.

Primjer 1: Stvorite objekt koristeći literalnu notaciju u JavaScriptu

U sljedećem primjeru stvorit ćemo objekt pod nazivom ' stdObject ” koristeći doslovnu notaciju ili zagrade:



var stdObject = {
Ime : 'Ivan' ,
dob : 18 ,
rollno : 25 ,
standard : 9
}

Ispis objekta na konzoli:

konzola. log ( stdObject ) ;

Izlaz

Primjer 2: Stvorite objekt pomoću konstruktora objekata u JavaScriptu

Ovdje ćemo stvoriti objekt pomoću konstruktora objekta koristeći ' novi ” ključna riječ:

konst stdObject = novi Objekt ( ) ;

Sada dodajte svojstva (ključ-vrijednost) objekata koristeći dot(.) notaciju:

stdObject. Ime = 'jebati' ;

stdObject. dob = 19 ;

stdObject. rollno = petnaest ;

stdObject. standard = 10 ;

Na kraju, prikažite objekt na konzoli koristeći ' konzola.log() ” metoda:

konzola. log ( stdObject ) ;

Izlaz

Kako definirati kartu u JavaScriptu?

U JavaScriptu, ' Karta ” je podatkovna struktura koja sadrži parove ključ-vrijednost slične objektu. Omogućuje vam povezivanje podataka s ključevima i kasnije dohvaćanje podataka pomoću ključeva. Karte se mogu koristiti za implementaciju rječnika, hash tablica i drugih struktura podataka koje preslikavaju ključeve u vrijednosti.

Sintaksa

Za inicijalizaciju karte koristite sljedeću sintaksu:

konst karta = novi Karta ( [

[ 'ključ' , 'vrijednost' ] ,

[ 'ključ' , 'vrijednost' ]

] ) ;

Također možete izraditi kartu pomoću konstruktora karte ili pomoću operatora new i postaviti vrijednosti koristeći ' postaviti () ” metoda:

konst karta = novi Karta ( ) ;

karta. postaviti ( 'ključ' , 'vrijednost' ) ;

Primjer: Napravite kartu u JavaScriptu

U navedenom primjeru izradit ćemo kartu koristeći obje sintakse.

Stvorite kartu pomoću metode inicijalizacije. Ovdje ćemo postaviti ključeve kao niz dok možete postaviti ključeve u karti bilo koje vrste:

konst kartaStd = novaMapa ( [
[ 'Ime' , 'Ivan' ] ,
[ 'dob' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standard' , 9 ] ,
] ) ;

Ili izradite kartu pozivanjem konstruktora karte ili nove ključne riječi/operatora:

konst kartaStd = novi Karta ( ) ;

Postavite vrijednosti u mapi u paru ključ-vrijednost pomoću ' postaviti () ” metoda:

kartaStd. postaviti ( 'Ime' , 'Ivan' ) ;

kartaStd. postaviti ( 'dob' , 18 ) ;

kartaStd. postaviti ( 'rollno' , 25 ) ;

kartaStd. postaviti ( 'standard' , 9 ) ;

Za ispis karte na konzoli koristite ' unosi () ' metoda s ' za-od ' petlja:

za ( konst [ ključ, vrijednost ] od mapStd. unose ( ) ) {

konzola. log ( `$ { ključ } : $ { vrijednost } ` ) ;

}

Ili za pristup vrijednosti bilo kojeg specifičnog ključa/svojstva, koristite ' dobiti() ” metoda:

konzola. log ( 'Rollno od' + kartaStd. dobiti ( 'Ime' ) + ' je ' + kartaStd. dobiti ( 'rollno' ) ) ;

Izlaz pokazuje sva svojstva karte i vrijednost određenog svojstva:

Karta nasuprot objektu u JavaScriptu

Primarna razlika između karte i objekta je sljedeća:

Karta Objekt
Predstavljen je u ECMAScript 6 2015. JavaScript je uveo tip podataka Object u svojoj prvoj verziji (ECMAScript 1) objavljenoj 1997.
Karta dopušta ključeve bilo koje vrste podataka (npr. objekte, funkcije, brojeve itd.). Ključevi objekta moraju biti nizovi.
Svojstvima karte može se pristupiti korištenjem metode get(). Svojstvima objekta može se pristupiti korištenjem notacije točka ili notacije uglatih zagrada.
Karta ima ugrađeno svojstvo veličine za vraćanje broja parova ključ-vrijednost Objekt nema ovu značajku.
Karta se može ponavljati. Omogućuje prolazak kroz sve parove ključ-vrijednost pomoću nekih ugrađenih metoda kao što su forEach(), keys(), values() i entries(). Objekt se ne može ponoviti. Postoji potreba za korištenjem 'za-u' petlji ili metode Object.entries() za ponavljanje parova ključ-vrijednost.
Karta je naručena. Objekt je neuređen.

Kada radite s malim skupovima podataka, razlika u izvedbi između Karti i objekata je zanemariva, ali kada radite s većim skupovima podataka, Karte mogu biti brže jer su optimizirane za performanse.

Kada karta ima prednost nad objektima u JavaScriptu?

Kada trebate pohraniti parove ključ-vrijednost u uređenom obliku ili vrijednost kao ključ može biti bilo koja vrsta podataka, kao što su brojevi, objekti ili simboli, koristite ' Karta ” struktura podataka. Objekti će se koristiti kada trebate koristiti nizove kao ključeve i kada vam nije potrebna nijedna značajka Karti. Razlika u performansama između Karti i objekata zanemariva je pri radu s malim skupovima podataka, ali pri radu s većim skupovima podataka Karte mogu biti brže jer su optimizirane za performanse.

Zaključak

Map i Object koriste se za pohranu podataka kao parova ključ-vrijednost u JavaScriptu, ali imaju neke razlike. Karta je moćnija i fleksibilnija struktura podataka od Objekta i preferirani je izbor kada trebate pohraniti parove ključ-vrijednost koje je potrebno poredati, imati ključeve različitih tipova podataka ili imati svojstvo veličine. Ovaj post objašnjava razliku između karte i objekta u JavaScriptu.