Wiederholter Code steht zwischen geschweiften Klammern.
Die geöffnete Klammer wird normaleweise hinter dem öffnenden Statement geschrieben. Die schliessende Klammer steht normalerweise alleine, senkrecht unter dem Amfang der öffnenden Zeile.
Die for-Schleife wird normalerweise verwendet, wenn die Anzahl Wiederholungen bekannt ist.
for (let i=start; i<ende; i++) { // zu // wiederholender // code }
Etwas allgemeiner:
for (INITIALISIERUNG; BEDINGUNG; POSTINCREMENT) { // ... }
Konkretes Beispiel:
for (let i=0; i<10; i++) { console.log(`i=${i} im Quadrat ist ${i*i}`); }
Bei Zeichenketten in «Backticks» (rückwärtsgerichtete Apotstroph) können Ausdrücke zwischen ${…}$
geschrieben werden, die ausgewertet und an dessen Stelle geschrieben werden.
Arrays (Listen) werden zwischen eckigen Klammern geschrieben, die Element durch Kommas getrennt.
let primzahlen = [2,3,7,11,13,17,19,23]; for (let prim of liste) { console.log(prim); }
Folgender Code macht das gleiche (auf klassische Art und Weise), wobei liste.length
die Anzahl Elemente $n$ des Array ergibt. Die Elemente sind von $0$ bis $n-1$ indiziert und werden
let primzahlen = [2,3,7,11,13,17,19,23]; for (let i=0; i<liste.length; i++) { let prim=liste[i]; // Zugriff auf das Element mit Index i console.log(prim); }
Ein Object ist eine «Liste», die aber nicht über Zahlen, sondern über Schlüssel (Strings) indiziert wird.
let koordinaten = {'x': 5, 'y':2, 'bla': "BLAH"}; for (let key in koordinaten) { console.log(`zum key ${key} gehört der Eintrag ${koordinaten[key]}`); }
Folgender Code macht das Gleiche auf klassische Art und Weise:
let koordinaten = {'x': 5, 'y':2, 'bla': "BLAH"}; let keys = Objects.keys(koordinaten); for (let i=0; i<keys.length; i++) { let key = keys[i]; console.log(`zum key ${key} gehört der Eintrag ${koordinaten[key]}`); }
Wiederholen, so lange etwas wahr ist:
let heu = "Wo zum Teufel ist der a versteckt?"; nadel = "a"; let position=0; // Starten bei Index 0 (erster Buchstabe) while (position<heu.length && heu[position]!=nadel) { // Noch nicht am Ende und Buchstabe an position ist nicht die Nadel? position++; } if (position<heu.length) { console.log(`Nadel im Heuhaufen an Position ${position}`); } else { console.log("Keine Nadel in diesem Heuhaufen"); }
Welche String-Funktion hätte man anstatt dem obigen Code verwenden können?