Mapa vs objekt v JavaScriptu

Mapa Vs Objekt V Javascriptu



Mapa ' a ' Objekt ” jsou dvě běžné datové struktury v JavaScriptu používané k ukládání párů klíč–hodnota. Mapa se používá, když potřebujete datovou strukturu, která může uložit jakýkoli datový typ jako klíč nebo hodnotu, a potřebujete uspořádanou kolekci párů klíč-hodnota. Zatímco Object se používá, když potřebujete uložit pouze řetězcové klíče.

Tento příspěvek vysvětlí rozdíl mezi mapou a objektem v JavaScriptu.

Jak definovat objekt v JavaScriptu?

V JavaScriptu je objekt sbírkou vlastností, z nichž každá má pár klíč–hodnota. ' klíč ' je ' název “ a „ hodnota “ je „hodnota“ proti klíči. Předměty mohou představovat předměty skutečného světa, jako je auto, osoba nebo bankovní účet. Mohou také představovat abstraktnější objekty, jako je matematický bod v prostoru, barva nebo datum.







Syntax



Objekt lze vytvořit pomocí doslovného zápisu objektu {} hranatých závorek nebo pomocí konstruktoru Object. Pomocí doslovného zápisu nebo hranatých závorek použijte níže uvedenou syntaxi:



konst objekt = {
klíč : hodnota,
klíč : hodnota
}

Vytvoření objektu pomocí konstruktoru Object nebo „ Nový “, použijte následující syntaxi:





konst objekt = Nový Objekt ( ) ;

objekt. klíč = hodnota ;

Poznámka: Mějte na paměti, že klíče nebo názvy vlastností objektu musí být řetězec.

Příklad 1: Vytvoření objektu pomocí doslovného zápisu v JavaScriptu

V následujícím příkladu vytvoříme objekt s názvem „ stdObject ” pomocí doslovného zápisu nebo závorek:



var stdObject = {
název : 'John' ,
stáří : 18 ,
rollno : 25 ,
Standard : 9
}

Vytiskněte objekt na konzole:

řídicí panel. log ( stdObject ) ;

Výstup

Příklad 2: Vytvoření objektu pomocí objektového konstruktoru v JavaScriptu

Zde vytvoříme objekt pomocí konstruktoru Object s využitím „ Nový klíčové slovo:

konst stdObject = Nový Objekt ( ) ;

Nyní přidejte vlastnosti (klíč-hodnota) objektů pomocí notace tečka(.):

stdObject. název = 'kurva' ;

stdObject. stáří = 19 ;

stdObject. rollno = patnáct ;

stdObject. Standard = 10 ;

Nakonec zobrazte objekt na konzole pomocí „ console.log() “ metoda:

řídicí panel. log ( stdObject ) ;

Výstup

Jak definovat mapu v JavaScriptu?

V JavaScriptu „ Mapa ” je datová struktura, která obsahuje páry klíč–hodnota podobné objektu. Umožňuje vám přiřadit data ke klíčům a později je načíst pomocí klíčů. Mapy lze využít k implementaci slovníků, hashovacích tabulek a dalších datových struktur, které mapují klíče na hodnoty.

Syntax

K inicializaci mapy použijte následující syntaxi:

konst mapa = Nový Mapa ( [

[ 'klíč' , 'hodnota' ] ,

[ 'klíč' , 'hodnota' ]

] ) ;

Mapu můžete také vytvořit pomocí konstruktoru mapy nebo pomocí operátoru new a nastavit hodnoty pomocí „ soubor() “ metoda:

konst mapa = Nový Mapa ( ) ;

mapa. soubor ( 'klíč' , 'hodnota' ) ;

Příklad: Vytvořte mapu v JavaScriptu

V uvedeném příkladu vytvoříme mapu pomocí obou syntaxí.

Vytvořte mapu pomocí inicializační metody. Zde nastavíme klíče jako řetězec, zatímco klíče v mapě můžete nastavit v jakémkoli typu:

konst mapStd = nová mapa ( [
[ 'název' , 'John' ] ,
[ 'stáří' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'Standard' , 9 ] ,
] ) ;

Nebo vytvořte mapu voláním konstruktoru mapy nebo nového klíčového slova/operátoru:

konst mapStd = Nový Mapa ( ) ;

Nastavte hodnoty na mapě v páru klíč–hodnota pomocí „ soubor() “ metoda:

mapStd. soubor ( 'název' , 'John' ) ;

mapStd. soubor ( 'stáří' , 18 ) ;

mapStd. soubor ( 'rollno' , 25 ) ;

mapStd. soubor ( 'Standard' , 9 ) ;

Chcete-li vytisknout mapu na konzole, použijte „ záznamy() “ metoda s “ pro-z “smyčka:

pro ( konst [ klíč, hodnota ] of mapStd. záznamy ( ) ) {

řídicí panel. log ( `$ { klíč } : $ { hodnota } ' ) ;

}

Nebo pro přístup k hodnotě jakéhokoli konkrétního klíče/vlastnosti použijte „ dostat() “ metoda:

řídicí panel. log ( 'Rollno' + mapStd. dostat ( 'název' ) + ' je ' + mapStd. dostat ( 'rollno' ) ) ;

Výstup označuje všechny vlastnosti mapy a hodnotu konkrétní vlastnosti:

Mapa vs objekt v JavaScriptu

Primární rozdíl mezi mapou a objektem je následující:

Mapa Objekt
To bylo představeno v ECMAScript 6 v roce 2015. JavaScript zavedl datový typ Object ve své první verzi (ECMAScript 1) vydané v roce 1997.
Mapa umožňuje klíče jakéhokoli datového typu (např. objekty, funkce, čísla atd.). Klíče objektu musí být řetězce.
K vlastnostem mapy lze přistupovat pomocí metody get(). Vlastnosti objektu jsou přístupné pomocí tečkové notace nebo hranaté závorky.
Mapa má vestavěnou vlastnost size, která vrací počet párů klíč–hodnota Objekt tuto funkci nemá.
Mapa je iterovatelná. Umožňuje procházet všechny páry klíč–hodnota pomocí některých vestavěných metod, jako je forEach(), keys(), values() a entries(). Objekt není iterovatelný. Pro iteraci párů klíč-hodnota je potřeba použít smyčky „for-in“ nebo metodu Object.entries().
Mapa je objednána. Objekt je neuspořádaný.

Při práci s malými soubory dat je rozdíl ve výkonu mezi mapami a objekty zanedbatelný, ale při práci s většími soubory dat mohou být Mapy rychlejší, protože jsou optimalizovány pro výkon.

Kdy dává mapa přednost před objekty v JavaScriptu?

Pokud potřebujete uložit páry klíč–hodnota v uspořádané podobě nebo hodnotu jako klíč jakéhokoli datového typu, jako jsou čísla, objekty nebo symboly, použijte „ Mapa ' datová struktura. Objekty se použijí, když potřebujete použít řetězce jako klíče a když nepotřebujete žádnou z funkcí Map. Rozdíl ve výkonu mezi mapami a objekty je zanedbatelný při práci s malými soubory dat, ale při práci s většími soubory dat mohou být Mapy rychlejší, protože jsou optimalizovány pro výkon.

Závěr

Mapa a Objekt se používají k ukládání dat jako párů klíč-hodnota v JavaScriptu, ale mají určité rozdíly. Mapa je výkonnější a flexibilnější datová struktura než Object a je preferovanou volbou, když potřebujete uložit páry klíč–hodnota, které je třeba objednat, mají klíče různých datových typů nebo mají vlastnost size. Tento příspěvek vysvětlil rozdíl mezi mapou a objektem v JavaScriptu.