Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 133

for/of mit Set und Map

Оглавление

Die mit ES6 eingeführten integrierten Set- und Map-Klassen sind iterierbar. Wenn Sie ein Set mit for/of durchlaufen, wird der Schleifenkörper für jedes Element des Sets einmal ausgeführt. Sie könnten folgenden Code verwenden, um die unterschiedlichen Wörter eines als String angegebenen Texts auszugeben:

let text = "Na na na na na na na na Batman!";

let wordSet = new Set(text.split(" "));

let unique = [];

for(let word of wordSet) {

unique.push(word);

}

unique // => ["Na", "na", "Batman!"]

Maps sind ein interessanter Fall, weil der Iterator für ein Map-Objekt nicht dessen Schlüssel oder Werte durchläuft, sondern Schlüssel/Wert-Paare. Bei jedem Durchlauf gibt der Iterator ein Array zurück, dessen erstes Element ein Schlüssel und dessen zweites Element der entsprechende Wert ist. Bei einer Map m könnten Sie die Schlüssel/Wert-Paare wie folgt durchlaufen und destrukturieren:

let m = new Map([[1, "one"]]);

for(let [key, value] of m) {

key // => 1

value // => "one"

}

JavaScript  –  Das Handbuch für die Praxis

Подняться наверх