Karte vs. Objekt in JavaScript

Karte Vs Objekt In Javascript



Karte ' Und ' Objekt “ sind zwei gängige Datenstrukturen in JavaScript, die zum Speichern von Schlüssel-Wert-Paaren verwendet werden. Eine Map wird verwendet, wenn Sie eine Datenstruktur benötigen, die jeden Datentyp als Schlüssel oder Wert speichern kann, und eine geordnete Sammlung von Schlüssel-Wert-Paaren benötigen. While Object wird verwendet, wenn Sie nur Zeichenfolgenschlüssel speichern müssen.

Dieser Beitrag erklärt den Unterschied zwischen Map und Object in JavaScript.

Wie definiere ich ein Objekt in JavaScript?

In JavaScript ist ein Objekt eine Sammlung von Eigenschaften mit jeweils einem Schlüssel-Wert-Paar. Der ' Taste ' ist der ' Name ', und ein ' Wert “ ist der „Wert“ gegenüber dem Schlüssel. Objekte können reale Objekte wie ein Auto, eine Person oder ein Bankkonto darstellen. Sie können auch abstraktere Objekte darstellen, wie einen mathematischen Punkt im Raum, eine Farbe oder ein Datum.







Syntax



Ein Objekt kann mit der wörtlichen Objektnotation {} Klammern oder dem Objektkonstruktor erstellt werden. Verwenden Sie die wörtliche Notation oder Klammern und die folgende Syntax:



konst Objekt = {
Taste : Wert,
Taste : Wert
}

Erstellen eines Objekts mit dem Objektkonstruktor oder dem „ neu ” verwenden Sie die folgende Syntax:





konst Objekt = neu Objekt ( ) ;

Objekt. Taste = Wert ;

Notiz: Beachten Sie, dass die Schlüssel oder Namen der Objekteigenschaften eine Zeichenfolge sein müssen.

Beispiel 1: Erstellen Sie ein Objekt mit Literalnotation in JavaScript

Im folgenden Beispiel erstellen wir ein Objekt mit dem Namen „ stdObjekt ” mit wörtlicher Notation oder Klammern:



var stdObject = {
Name : 'John' ,
Alter : 18 ,
rollnr : 25 ,
Standard : 9
}

Drucken Sie das Objekt auf der Konsole:

Konsole. Protokoll ( stdObjekt ) ;

Ausgang

Beispiel 2: Erstellen Sie ein Objekt mit dem Objektkonstruktor in JavaScript

Hier erstellen wir ein Objekt mit dem Objektkonstruktor unter Verwendung des „ neu ' Stichwort:

konst stdObject = neu Objekt ( ) ;

Fügen Sie nun die Eigenschaften (Schlüsselwert) von Objekten mit der Punkt(.)-Notation hinzu:

stdObject. Name = 'Scheiße' ;

stdObjekt. Alter = 19 ;

stdObject. rollnr = fünfzehn ;

stdObjekt. Standard = 10 ;

Zeigen Sie zuletzt das Objekt auf der Konsole mit dem „ Konsole.log() ' Methode:

Konsole. Protokoll ( stdObject ) ;

Ausgang

Wie definiere ich eine Karte in JavaScript?

In JavaScript ist ein „ Karte “ ist eine Datenstruktur, die Schlüssel-Wert-Paare ähnlich einem Objekt enthält. Es ermöglicht Ihnen, Daten Schlüsseln zuzuordnen und die Daten später mithilfe der Schlüssel abzurufen. Abbildungen können verwendet werden, um Wörterbücher, Hash-Tabellen und andere Datenstrukturen zu implementieren, die Schlüssel auf Werte abbilden.

Syntax

Verwenden Sie zum Initialisieren einer Karte die folgende Syntax:

konst Karte = neu Karte ( [

[ 'Taste' , 'Wert' ] ,

[ 'Taste' , 'Wert' ]

] ) ;

Sie können eine Map auch mit dem Map-Konstruktor oder mit dem new-Operator erstellen und Werte mit dem „ Satz() ' Methode:

konst Karte = neu Karte ( ) ;

Karte. Satz ( 'Taste' , 'Wert' ) ;

Beispiel: Erstellen Sie eine Karte in JavaScript

Im angegebenen Beispiel erstellen wir eine Map mit beiden Syntaxen.

Erstellen Sie eine Karte mit der Initialisierungsmethode. Hier werden wir Schlüssel als Zeichenfolge festlegen, während Sie Schlüssel in einer Map in jedem Typ festlegen können:

konst mapStd = neueKarte ( [
[ 'Name' , 'John' ] ,
[ 'Alter' , 18 ] ,
[ 'rollnein' , 25 ] ,
[ 'Standard' , 9 ] ,
] ) ;

Oder erstellen Sie eine Map, indem Sie den Map-Konstruktor oder das neue Schlüsselwort/den neuen Operator aufrufen:

konst mapStd = neu Karte ( ) ;

Legen Sie Werte in Map in einem Schlüssel-Wert-Paar fest, indem Sie das „ Satz() ' Methode:

mapStd. Satz ( 'Name' , 'John' ) ;

mapStd. Satz ( 'Alter' , 18 ) ;

mapStd. Satz ( 'rollnein' , 25 ) ;

mapStd. Satz ( 'Standard' , 9 ) ;

Um die Karte auf der Konsole zu drucken, verwenden Sie die „ Einträge() “-Methode mit dem „ für-von ”Schleife:

für ( konst [ Schlüsselwert ] von mapStd. Einträge ( ) ) {

Konsole. Protokoll ( `$ { Taste } : $ { Wert } ` ) ;

}

Oder verwenden Sie für den Zugriff auf den Wert eines bestimmten Schlüssels/einer bestimmten Eigenschaft das „ erhalten() ' Methode:

Konsole. Protokoll ( 'Die Rollnummer von' + mapStd. erhalten ( 'Name' ) + ' Ist ' + mapStd. erhalten ( 'rollnein' ) ) ;

Die Ausgabe zeigt alle Eigenschaften der Map und den Wert der spezifischen Eigenschaft an:

Karte vs. Objekt in JavaScript

Der Hauptunterschied zwischen Karte und Objekt ist wie folgt:

Karte Objekt
Es wurde 2015 in ECMAScript 6 eingeführt. JavaScript führte den Object-Datentyp in seiner ersten Version (ECMAScript 1) ein, die 1997 veröffentlicht wurde.
Map erlaubt Schlüssel beliebigen Datentyps (z. B. Objekte, Funktionen, Zahlen usw.). Objektschlüssel müssen Zeichenfolgen sein.
Auf die Eigenschaften einer Map kann mit der Methode get() zugegriffen werden. Auf Objekteigenschaften kann unter Verwendung der Punktnotation oder der Notation mit eckigen Klammern zugegriffen werden.
Map hat eine eingebaute Größeneigenschaft, um die Anzahl der Schlüssel-Wert-Paare zurückzugeben Objekt hat diese Funktion nicht.
Karte ist iterierbar. Es ermöglicht das Durchlaufen aller Schlüssel-Wert-Paare mithilfe einiger integrierter Methoden wie forEach(), keys(), values() und entries(). Das Objekt ist nicht iterierbar. Für die Iteration von Schlüssel-Wert-Paaren müssen „for-in“-Schleifen oder die Methode Object.entries() verwendet werden.
Karte ist bestellt. Objekt ist unsortiert.

Beim Arbeiten mit kleinen Datensätzen ist der Leistungsunterschied zwischen Karten und Objekten vernachlässigbar, aber beim Arbeiten mit größeren Datensätzen können Karten schneller sein, da sie auf Leistung optimiert sind.

Wann bevorzugt Map Objekte in JavaScript?

Wenn Sie Schlüssel-Wert-Paare in einer geordneten Form speichern müssen oder der Wert als Schlüssel ein beliebiger Datentyp wie Zahlen, Objekte oder Symbole sein muss, verwenden Sie das „ Karte ' Datenstruktur. Objekte werden verwendet, wenn Sie Zeichenfolgen als Schlüssel verwenden müssen und keine der Funktionen von Maps benötigen. Der Leistungsunterschied zwischen Karten und Objekten ist bei der Arbeit mit kleinen Datensätzen vernachlässigbar, aber bei der Arbeit mit größeren Datensätzen können Karten schneller sein, da sie auf Leistung optimiert sind.

Abschluss

Map und Object werden beide zum Speichern von Daten als Schlüssel-Wert-Paare in JavaScript verwendet, weisen jedoch einige Unterschiede auf. Map ist eine leistungsfähigere und flexiblere Datenstruktur als Object und die bevorzugte Wahl, wenn Sie Schlüssel-Wert-Paare speichern müssen, die geordnet werden müssen, Schlüssel mit unterschiedlichen Datentypen haben oder eine Größeneigenschaft haben. In diesem Beitrag wurde der Unterschied zwischen Map und Object in JavaScript erklärt.