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.
Eine Karte hat eine Eigenschaft, die die Größe der Karte darstellt.
Kartenmethoden
Methode | Beschreibung |
---|---|
neue Karte() | Erstellt ein neues Map-Objekt |
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 |
klar() | Entfernt alle Elemente aus einer Map |
löschen() | Entfernt ein durch einen Schlüssel angegebenes Map-Element |
hat() | Gibt true zurück, wenn ein Schlüssel in einer Map vorhanden ist |
für jede() | Ruft einen Callback für jedes Schlüssel/Wert-Paar in einer Map auf |
Einträge() | Gibt ein Iterator-Objekt mit den [Schlüssel, Wert]-Paaren in einer Map zurück |
Schlüssel() | Gibt ein Iterator-Objekt mit den Schlüsseln in einer Map zurück |
Werte() | Gibt ein Iteratorobjekt der Werte in einer Map zurück |
Eigentum | Beschreibung |
---|---|
Größe | Gibt die Anzahl der Map-Elemente 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()
neue Karte()
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]
]);
Karte.set()
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", 500);
Karte.get()
Die get()
Methode erhält den Wert eines Schlüssels in einer Map:
Beispiel
fruits.get("apples"); // Returns 500
Kartengröße
Die size
Eigenschaft gibt die Anzahl der Elemente in einer Map zurück:
Beispiel
fruits.size;
Karte.löschen()
Die delete()
Methode entfernt ein Map-Element:
Beispiel
fruits.delete("apples");
Map.clear()
Die clear()
Methode entfernt alle Elemente aus einer Map:
Beispiel
fruits.clear();
Karte.has()
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");
Karten sind Objekte
typeof
gibt Objekt zurück:
Beispiel
// Returns object:
typeof fruits;
instanceof
Karte gibt true zurück:
Beispiel
// Returns true:
fruits instanceof Map;
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 |
Map.forEach()
Die forEach()
Methode ruft einen Callback 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;
})
Map.keys()
Die keys()
Methode gibt ein Iterator-Objekt mit den Schlüsseln in einer Map zurück:
Beispiel
// List all keys
let veggies = "";
for (const x of fruits.keys()) {
veggies += x;
}
Map.values()
Die values
Methode gibt ein Iterator-Objekt mit den Werten in einer Map zurück:
Beispiel
// Sum all values
let total = 0;
for (const x of fruits.values()) {
total += x;
}
Karte.Einträge()
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;
}
Objekte als Schlüssel
Die Möglichkeit, Objekte als Schlüssel zu verwenden, ist eine wichtige Kartenfunktion.
Beispiel
// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Create a Map
const fruits = new Map();
// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
Denken Sie daran: Der Schlüssel ist ein Objekt (Äpfel), keine Zeichenfolge ("Äpfel"):
Beispiel
fruits.get("apples"); // Returns undefined
Browser-Unterstützung
JavaScript-Karten werden in allen Browsern außer Internet Explorer unterstützt:
Chrome | Edge | Firefox | Safari | Opera |