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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow