JavaScript-Karten
Eine Map enthält Schlüssel-Wert-Paare, wobei die Schlüssel einen beliebigen Datentyp haben können.
Eine Karte merkt sich die ursprüngliche Einfügungsreihenfolge der Schlüssel.
Wesentliche Kartenmethoden
Methode | Beschreibung |
---|---|
neue Karte() | Erstellt eine neue Karte |
einstellen() | Legt den Wert für einen Schlüssel in einer Map fest |
werden() | Ruft den Wert für einen Schlüssel in einer Map ab |
löschen() | Entfernt ein durch den Schlüssel angegebenes Map-Element |
hat() | Gibt true zurück, wenn ein Schlüssel in einer Map vorhanden ist |
für jede() | Ruft eine Funktion für jedes Schlüssel/Wert-Paar in einer Map auf |
Einträge() | Gibt einen Iterator mit den [Schlüssel, Wert]-Paaren in einer Map zurück |
Eigentum | Beschreibung |
Größe | Gibt die Anzahl der Elemente in einer Map zurück |
So erstellen Sie eine Karte
Sie können eine JavaScript-Karte erstellen, indem Sie:
- Übergabe eines Arrays an
new Map()
- Erstellen Sie eine Karte und verwenden Sie sie
Map.set()
Die neue Map()-Methode
Sie können eine Map erstellen, indem Sie ein Array an den new Map()
Konstruktor übergeben:
Beispiel
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Die set()-Methode
Sie können Elemente zu einer Karte mit der set()
Methode hinzufügen:
Beispiel
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Die set()
Methode kann auch verwendet werden, um bestehende Map-Werte zu ändern:
Beispiel
fruits.set("apples", 200);
Die get()-Methode
Die get()
Methode erhält den Wert eines Schlüssels in einer Map:
Beispiel
fruits.get("apples"); // Returns 500
Die Größe Eigenschaft
Die size
Eigenschaft gibt die Anzahl der Elemente in einer Map zurück:
Beispiel
fruits.size;
Die delete() Methode
Die delete()
Methode entfernt ein Map-Element:
Beispiel
fruits.delete("apples");
Die has()-Methode
Die has()
Methode gibt true zurück, wenn ein Schlüssel in einer Map vorhanden ist:
Beispiel
fruits.has("apples");
Versuche dies:
fruits.delete("apples");
fruits.has("apples");
JavaScript-Objekte vs. Karten
Unterschiede zwischen JavaScript-Objekten und Karten:
Objekt | Karte | |
---|---|---|
Wiederholbar | Nicht direkt iterierbar | Direkt iterierbar |
Größe | Haben Sie keine Größeneigenschaft | Habe eine Größeneigenschaft |
Schlüsseltypen | Schlüssel müssen Zeichenfolgen (oder Symbole) sein | Schlüssel können jeden Datentyp haben |
Schlüsselreihenfolge | Schlüssel sind nicht gut geordnet | Schlüssel werden durch Einfügen bestellt |
Standardwerte | Standardschlüssel haben | Haben Sie keine Standardschlüssel |
Die forEach()-Methode
Die forEach()
Methode ruft eine Funktion für jedes Schlüssel/Wert-Paar in einer Map auf:
Beispiel
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Die Methode entries()
Die entries()
Methode gibt ein Iterator-Objekt mit den [Schlüsseln, Werten] in einer Map zurück:
Beispiel
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Browser-Unterstützung
JavaScript-Karten werden in allen Browsern außer Internet Explorer unterstützt:
Chrome | Edge | Firefox | Safari | Opera |