Suche…
Syntax
- neue Karte ([iterable])
- map.set (Schlüssel, Wert)
- map.get (Schlüssel)
- Kartengröße
- map.clear ()
- map.delete (Schlüssel)
- map.entries ()
- map.keys ()
- map.values ()
- map.forEach (Rückruf [, thisArg])
Parameter
Parameter | Einzelheiten |
---|---|
iterable | Jedes iterierbare Objekt (zum Beispiel ein Array), das [key, value] -Paare enthält. |
key | Der Schlüssel eines Elements. |
value | Der dem Schlüssel zugewiesene Wert. |
callback | Die Callback-Funktion wird mit drei Parametern aufgerufen: value, key und map. |
thisArg | Wert , die verwendet werden , wie this bei der Ausführung callback . |
Bemerkungen
In Maps gilt NaN
als das gleiche wie NaN
, obwohl NaN !== NaN
Zum Beispiel:
const map = new Map([[NaN, true]]);
console.log(map.get(NaN)); // true
Karte erstellen
Eine Map ist eine grundlegende Zuordnung von Schlüsseln zu Werten. Maps unterscheiden sich von Objekten darin, dass ihre Schlüssel beliebige Elemente (Grundwerte sowie Objekte) sein können, nicht nur Strings und Symbole. Die Iteration über Maps wird auch immer in der Reihenfolge ausgeführt, in der die Elemente in die Map eingefügt wurden, während die Reihenfolge beim Durchlaufen von Schlüsseln in einem Objekt undefiniert ist.
Verwenden Sie zum Erstellen einer Map den Map-Konstruktor:
const map = new Map();
Es verfügt über einen optionalen Parameter, bei dem es sich um ein beliebiges iterierbares Objekt (z. B. ein Array) handeln kann, das Arrays aus zwei Elementen enthält. Zuerst wird der Schlüssel und die Sekunde der Wert. Zum Beispiel:
const map = new Map([[new Date(), {foo: "bar"}], [document.body, "body"]]);
// ^key ^value ^key ^value
Karte löschen
Verwenden .clear()
zum Entfernen aller Elemente aus einer Map die Methode .clear()
:
map.clear();
Beispiel:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
console.log(map.get(1)); // undefined
Ein Element aus einer Map entfernen
Um ein Element aus einer Map zu entfernen, verwenden Sie die .delete()
-Methode.
map.delete(key);
Beispiel:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.get(3)); // 4
map.delete(3);
console.log(map.get(3)); // undefined
Diese Methode gibt true
zurück true
wenn das Element vorhanden war und entfernt wurde, andernfalls false
:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.delete(1)); // true
console.log(map.delete(7)); // false
Überprüfen, ob ein Schlüssel in einer Karte vorhanden ist
Um zu überprüfen, ob ein Schlüssel in einer Map vorhanden ist, verwenden Sie die .has()
-Methode:
map.has(key);
Beispiel:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.has(1)); // true
console.log(map.has(2)); // false
Karten iterieren
Map verfügt über drei Methoden, die Iteratoren zurückgeben: .keys()
, .values()
und .entries()
. .entries()
ist der Standard-Map-Iterator und enthält [key, value]
-Paare.
const map = new Map([[1, 2], [3, 4]]);
for (const [key, value] of map) {
console.log(`key: ${key}, value: ${value}`);
// logs:
// key: 1, value: 2
// key: 3, value: 4
}
for (const key of map.keys()) {
console.log(key); // logs 1 and 3
}
for (const value of map.values()) {
console.log(value); // logs 2 and 4
}
Map hat auch die .forEach()
-Methode. Der erste Parameter ist eine Callback - Funktion, die für jedes Element in der Karte bezeichnet wird, und der zweite Parameter ist der Wert, der verwendet werden , wie this
bei der Callback - Funktion ausführt.
Die Rückruffunktion hat drei Argumente: value, key und das Kartenobjekt.
const map = new Map([[1, 2], [3, 4]]);
map.forEach((value, key, theMap) => console.log(`key: ${key}, value: ${value}`));
// logs:
// key: 1, value: 2
// key: 3, value: 4
Elemente holen und einstellen
Verwenden Sie .get(key)
, um den Wert per Schlüssel zu ermitteln, und .set(key, value)
, um einem Schlüssel einen Wert zuzuweisen.
Wenn das Element mit dem angegebenen Schlüssel nicht in der Karte vorhanden ist , .get()
gibt undefined
.
.set()
-Methode gibt das Kartenobjekt zurück, sodass Sie .set()
Aufrufe .set()
können.
const map = new Map();
console.log(map.get(1)); // undefined
map.set(1, 2).set(3, 4);
console.log(map.get(1)); // 2
Anzahl der Elemente einer Karte ermitteln
Um die Anzahl der Elemente einer Map .size
, verwenden Sie die .size
:
const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2