Mapa vs objekt v JavaScripte

Mapa Vs Objekt V Javascripte



Mapa “ a „ Objekt ” sú dve bežné dátové štruktúry v JavaScripte používané na ukladanie párov kľúč – hodnota. Mapa sa používa, keď potrebujete dátovú štruktúru, ktorá môže uložiť akýkoľvek dátový typ ako kľúč alebo hodnotu, a potrebujete usporiadanú kolekciu párov kľúč-hodnota. Kým Object sa používa, keď potrebujete uložiť iba reťazcové kľúče.

Tento príspevok vysvetlí rozdiel medzi mapou a objektom v JavaScripte.

Ako definovať objekt v JavaScripte?

V JavaScripte je objekt kolekciou vlastností, z ktorých každá má pár kľúč – hodnota. ' kľúč ' je ' názov “ a „ hodnotu “ je „hodnota“ voči kľúču. Objekty môžu predstavovať objekty skutočného sveta, ako napríklad auto, osobu alebo bankový účet. Môžu tiež predstavovať abstraktnejšie objekty, ako je matematický bod v priestore, farba alebo dátum.







Syntax



Objekt možno vytvoriť pomocou doslovného zápisu objektu {} zátvoriek alebo pomocou konštruktora objektu. Pomocou doslovného zápisu alebo zátvoriek použite nižšie uvedenú syntax:



konšt objekt = {
kľúč : hodnota,
kľúč : hodnotu
}

Vytvorenie objektu pomocou konštruktora objektu alebo „ Nový “, použite nasledujúcu syntax:





konšt objekt = Nový Objekt ( ) ;

objekt. kľúč = hodnotu ;

Poznámka: Majte na pamäti, že kľúče alebo názvy vlastností objektu musia byť reťazce.

Príklad 1: Vytvorte objekt pomocou doslovného zápisu v JavaScripte

V nasledujúcom príklade vytvoríme objekt s názvom „ stdObject “ pomocou doslovného zápisu alebo zátvoriek:



var stdObject = {
názov : 'John' ,
Vek : 18 ,
rollno : 25 ,
štandardné : 9
}

Vytlačte objekt na konzole:

konzoly. log ( stdObject ) ;

Výkon

Príklad 2: Vytvorte objekt pomocou konštruktora objektov v JavaScripte

Tu vytvoríme objekt pomocou konštruktora Object s použitím „ Nový ” kľúčové slovo:

konšt stdObject = Nový Objekt ( ) ;

Teraz pridajte vlastnosti (kľúč-hodnota) objektov pomocou notácie bodka (.):

stdObject. názov = 'kurva' ;

stdObject. Vek = 19 ;

stdObject. rollno = pätnásť ;

stdObject. štandardné = 10 ;

Nakoniec zobrazte objekt na konzole pomocou „ console.log() “ metóda:

konzoly. log ( stdObject ) ;

Výkon

Ako definovať mapu v JavaScripte?

V JavaScripte je „ Mapa ” je dátová štruktúra, ktorá obsahuje páry kľúč – hodnota podobné objektu. Umožňuje vám priradiť údaje ku kľúčom a neskôr ich získať pomocou kľúčov. Mapy možno použiť na implementáciu slovníkov, hašovacích tabuliek a iných dátových štruktúr, ktoré mapujú kľúče na hodnoty.

Syntax

Na inicializáciu mapy použite nasledujúcu syntax:

konšt mapa = Nový Mapa ( [

[ 'kľúč' , 'value' ] ,

[ 'kľúč' , 'value' ]

] ) ;

Mapu môžete vytvoriť aj pomocou konštruktora mapy alebo pomocou operátora new a nastaviť hodnoty pomocou „ set() “ metóda:

konšt mapa = Nový Mapa ( ) ;

mapa. nastaviť ( 'kľúč' , 'value' ) ;

Príklad: Vytvorte mapu v JavaScripte

V uvedenom príklade vytvoríme mapu pomocou oboch syntaxí.

Vytvorte mapu pomocou inicializačnej metódy. Tu nastavíme kľúče ako reťazec, zatiaľ čo kľúče na mape môžete nastaviť v akomkoľvek type:

konšt mapStd = nová mapa ( [
[ 'názov' , 'John' ] ,
[ 'Vek' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'štandard' , 9 ] ,
] ) ;

Alebo vytvorte mapu volaním konštruktora mapy alebo nového kľúčového slova/operátora:

konšt mapStd = Nový Mapa ( ) ;

Nastavte hodnoty na mape v páre kľúč – hodnota pomocou „ set() “ metóda:

mapStd. nastaviť ( 'názov' , 'John' ) ;

mapStd. nastaviť ( 'Vek' , 18 ) ;

mapStd. nastaviť ( 'rollno' , 25 ) ;

mapStd. nastaviť ( 'štandard' , 9 ) ;

Ak chcete vytlačiť mapu na konzole, použite „ záznamy() “ metóda s “ pre-z ” slučka:

pre ( konšt [ kľúč, hodnota ] of mapStd. záznamy ( ) ) {

konzoly. log ( `$ { kľúč } : $ { hodnotu } ` ) ;

}

Alebo pre prístup k hodnote akéhokoľvek konkrétneho kľúča/vlastnosti použite „ dostať () “ metóda:

konzoly. log ( 'Rollno' + mapStd. dostať ( 'názov' ) + ' je ' + mapStd. dostať ( 'rollno' ) ) ;

Výstup označuje všetky vlastnosti mapy a hodnotu konkrétnej vlastnosti:

Mapa vs objekt v JavaScripte

Hlavný rozdiel medzi mapou a objektom je nasledovný:

Mapa Objekt
Bol predstavený v ECMAScript 6 v roku 2015. JavaScript zaviedol dátový typ Object vo svojej prvej verzii (ECMAScript 1) vydanej v roku 1997.
Mapa umožňuje kľúče akéhokoľvek typu údajov (napr. objekty, funkcie, čísla atď.). Kľúče objektu musia byť reťazce.
K vlastnostiam mapy je možné pristupovať pomocou metódy get(). K vlastnostiam objektu je možné pristupovať pomocou bodkovej notácie alebo hranatej zátvorky.
Mapa má vstavanú vlastnosť size na vrátenie počtu párov kľúč – hodnota Objekt túto funkciu nemá.
Mapa je iterovateľná. Umožňuje prechádzať všetky páry kľúč-hodnota pomocou niektorých vstavaných metód, ako napríklad forEach(), keys(), values() a entries(). Objekt nie je iterovateľný. Na iteráciu párov kľúč – hodnota je potrebné použiť cykly „for-in“ alebo metódu Object.entries().
Mapa je objednaná. Objekt nie je usporiadaný.

Pri práci s malými súbormi údajov je rozdiel vo výkone medzi Mapami a objektmi zanedbateľný, ale pri práci s väčšími súbormi údajov môžu byť Mapy rýchlejšie, pretože sú optimalizované na výkon.

Kedy má mapa prednosť pred objektmi v JavaScripte?

Ak potrebujete uložiť páry kľúč-hodnota v usporiadanej forme alebo hodnotu ako kľúč ľubovoľného dátového typu, ako sú čísla, objekty alebo symboly, použite „ Mapa ' dátová štruktúra. Objekty sa použijú, keď potrebujete použiť reťazce ako kľúče a keď nepotrebujete žiadnu z funkcií Máp. Rozdiel vo výkone medzi mapami a objektmi je zanedbateľný pri práci s malými súbormi údajov, ale pri práci s väčšími súbormi údajov môžu byť Mapy rýchlejšie, pretože sú optimalizované na výkon.

Záver

Mapa aj objekt sa používajú na ukladanie údajov ako párov kľúč-hodnota v JavaScripte, ale majú určité rozdiely. Mapa je výkonnejšia a flexibilnejšia dátová štruktúra ako Object a je preferovanou voľbou, keď potrebujete uložiť páry kľúč – hodnota, ktoré je potrebné objednať, majú kľúče rôznych typov údajov alebo majú vlastnosť size. Tento príspevok vysvetlil rozdiel medzi mapou a objektom v JavaScripte.