Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 132
for/of mit Strings
ОглавлениеStrings sind in ES6 zeichenweise iterierbar:
let frequency = {};
for(let letter of "mississippi") {
if (frequency[letter]) {
frequency[letter]++;
} else {
frequency[letter] = 1;
}
}
frequency // => {m: 1, i: 4, s: 4, p: 2}
Beachten Sie bitte, dass Zeichenketten basierend auf Unicode-Codepoints durchlaufen werden, nicht anhand von UTF-16-Zeichen. Die Zeichenfolge »I « hat eine Länge .length von 5 (weil die beiden Emoji-Zeichen jeweils zwei UTF-16-Zeichen zur Darstellung benötigen). Aber wenn Sie über diese Zeichenkette mit for/of iterieren, wird der Schleifentext dreimal durchlaufen, einmal für jeden der drei Codepunkte »I«, » « und »«.