Mapa vs obiekt w JavaScript

Mapa vs obiekt w JavaScript
"Mapa" I "Obiekt”To dwie popularne struktury danych w JavaScript używane do przechowywania par kluczowych. Mapa jest wykorzystywana, gdy potrzebujesz struktury danych, która może przechowywać dowolny typ danych jako klucz lub wartość i potrzebować zamówienia parami kluczów kluczowych. Podczas gdy obiekt jest używany, gdy trzeba tylko przechowywać klawisze strunowe.

Ten post wyjaśni różnicę między mapą a obiektem w JavaScript.

Jak zdefiniować obiekt w JavaScript?

W JavaScript obiekt to zbiór właściwości, każda z parą kluczową wartością. „„klucz" jest "nazwa”I„wartość”To„ wartość ”w stosunku do klucza. Obiekty mogą reprezentować obiekty w świecie rzeczywistym, takie jak samochód, osoba lub konto bankowe. Mogą również reprezentować więcej abstrakcyjnych obiektów, takich jak punkt matematyczny w przestrzeni, kolor lub data.

Składnia

Obiekt można utworzyć za pomocą dosłownych notacji obiektu lub konstruktora obiektu. Korzystając z dosłownej notacji lub nawiasów, użyj składni poniżej:

const obiekt =
kluczowa wartość,
kluczowa wartość

Tworzenie obiektu za pomocą konstruktora obiektu lub „nowy„Słowo kluczowe, użyj następującej składni:

const obiekt = new Obiekt ();
obiekt.key = wartość;

Notatka: Pamiętaj, że klucze lub nazwy właściwości obiektu muszą być ciągiem.

Przykład 1: Utwórz obiekt za pomocą literalnej notacji w JavaScript

W poniższym przykładzie utworzymy obiekt o nazwie „stdobject„Korzystanie z dosłownych notacji lub nawiasów:

var stdobject =
Imię: „John”,
Wiek: 18,
Rollno: 25,
Standard: 9

Wydrukuj obiekt na konsoli:

konsola.log (stdobject);

Wyjście

Przykład 2: Utwórz obiekt za pomocą konstruktora obiektu w JavaScript

Tutaj utworzymy obiekt za pomocą konstruktora obiektu przy użyciu „nowy”Słowo kluczowe:

const stdobject = new Object ();

Teraz dodaj właściwości (wartość klucza) obiektów za pomocą kropki (.) notacja:

stdobject.name = „jodan”;
stdobject.Wiek = 19;
stdobject.Rollno = 15;
stdobject.standard = 10;

Na koniec wyświetl obiekt na konsoli za pomocą „konsola.dziennik()" metoda:

konsola.log (stdobject);

Wyjście

Jak zdefiniować mapę w JavaScript?

W JavaScript, „Mapa”To struktura danych, która przechowuje pary wartości kluczowej podobne do obiektu. Umożliwia kojarzenie danych z klawiszami i pobieranie danych później za pomocą klawiszy. Mapy można wykorzystać do wdrażania słowników, tabel skrótów i innych struktur danych, które mapują klucze na wartości.

Składnia

Aby zainicjować mapę, użyj następującej składni:

const map = nowa mapa ([[
['kluczowa wartość'],
['kluczowa wartość']
]);

Możesz także utworzyć mapę za pomocą konstruktora mapy lub za pomocą nowego operatora i ustawić wartości za pomocą „ustawić()" metoda:

const map = new map ();
mapa.set („klucz”, „wartość”);

Przykład: Utwórz mapę w JavaScript

W danym przykładzie utworzymy mapę za pomocą obu składni.

Utwórz mapę za pomocą metody inicjalizacji. Tutaj ustawymy klucze jako ciąg, podczas gdy możesz ustawić klucze na mapie w dowolnym typu:

const mapstd = newMap ([
[„Nazwa”, „John”],
[„Wiek”, 18],
[„Rollno”, 25],
[„standard”, 9],
]);

Lub utwórz mapę, wywołując konstruktor mapy lub nowe słowo kluczowe/operator:

const mapstd = new map ();

Ustaw wartości na mapie w parie wartości kluczowej za pomocą „ustawić()" metoda:

MAPSTD.set („nazwa”, „John”);
MAPSTD.zestaw („wiek”, 18);
MAPSTD.set („Rollno”, 25);
MAPSTD.set („standard”, 9);

Aby wydrukować mapę na konsoli, użyj „wpisy ()„Metoda z„dla" pętla:

dla (const [klucz, wartość] mapstd.wpisy ())
konsola.log ('$ key: $ wartość');

Lub w celu uzyskania dostępu do wartości dowolnego konkretnego klucza/właściwości, użyj „Dostawać()" metoda:

konsola.Log („The Rollno of” + MAPSTD.get („Nazwa”) + „is” + mapstd.Get („Rollno”));

Wyjście wskazuje wszystkie właściwości mapy i wartość określonej właściwości:

Mapa vs obiekt w JavaScript

Podstawowa różnica między mapą a obiektem jest następująca:

Mapa Obiekt
Został wprowadzony w EcMascript 6 w 2015 roku. JavaScript wprowadził typ danych obiektu w swojej pierwszej wersji (ECMAScript 1) wydany w 1997 roku.
Mapa umożliwia klucze dowolnego typu danych (e.G., Obiekty, funkcje, liczby itp.). Klucze obiektów muszą być ciągami.
Dostęp do właściwości mapy można uzyskać za pomocą metody get (). Dostęp do właściwości obiektów można uzyskać za pomocą zapisu kropki lub notacji nawigacji kwadratowej.
Mapa ma właściwość wbudowanego rozmiaru, aby zwrócić liczbę par kluczowych Obiekt nie ma tej funkcji.
Mapa jest iteralna. Umożliwia zapętlanie wszystkich par kluczowych przy użyciu niektórych wbudowanych metod, takich jak foreach (), keys (), wartości () i wpisów (). Obiekt nie jest iteralny. Istnieje potrzeba użycia pętli lub obiektu „for-in”.Metoda wpisów () do iteracji par kluczowych.
Mapa jest zamówiona. Obiekt jest nieuporządkowany.

Podczas pracy z małymi zestawami danych różnica wydajności między mapami a obiektami jest nieistotna, ale podczas pracy z większymi zestawami danych mapy mogą być szybsze, ponieważ są one zoptymalizowane pod kątem wydajności.

Kiedy mapa preferuje obiekty w JavaScript?

Gdy musisz przechowywać parę wartości kluczowej w zamówionym formularzu lub wartości jako klucza, być dowolnym typem danych, takim jak liczby, obiekty lub symbole, użyj „Mapa" struktura danych. Obiekty będą używane, gdy będziesz musiał używać ciągów jako kluczy, a kiedy nie potrzebujesz żadnej funkcji map. Różnica wydajności między mapami a obiektami jest nieistotna podczas pracy z małymi zestawami danych, ale podczas pracy z większymi zestawami danych mapy mogą być szybsze, ponieważ są one zoptymalizowane pod kątem wydajności.

Wniosek

Zarówno mapa, jak i obiekt są używane do przechowywania danych jako pary wartości kluczowej w JavaScript, ale mają pewne różnice. Mapa jest mocniejszą i elastyczną strukturą danych niż obiekt i jest preferowanym wyborem, gdy trzeba przechowywać pary wartości kluczowej, które należy zamówić, mieć klucze różnych typów danych lub mieć właściwość rozmiaru. Ten post wyjaśnił różnicę między mapą a obiektem w JavaScript.