Die for-Schleife ist eine der am häufigsten verwendeten Anweisungen, um eine Logik wiederholt auszuführen.
In JavaScript besteht sie aus dem Schlüsselwort for, einem Header in runden Klammern und einem Block in geschweiften Klammern, der den Schleifenblock enthält.
for (initialization; condition; step) {
// code that is executed repeatedly as long as the condition is true
}
Die Initialisierung richtet normalerweise eine Zählvariable ein, die Bedingung prüft, ob die Schleife fortgesetzt oder beendet werden soll, und der Schritt erhöht am Ende jeder Wiederholung den Zähler. Die einzelnen Teile des Headers werden durch Semikolons getrennt.
const list = ['a', 'b', 'c'];
for (let i = 0; i < list.length; i++) {
// code that should be executed for each item list[i]
}
Den Schritt legst du oft mit dem Inkrement- oder Dekrementoperator von JavaScript fest, wie im Beispiel oben gezeigt.
Diese Operatoren verändern eine Variable direkt an Ort und Stelle.
++ addiert eins zu einer Zahl, -- subtrahiert eins von einer Zahl.
let i = 3;
i++;
// i is now 4
let j = 0;
j--;
// j is now -1
Du bist ein begeisterter Vogelbeobachter und hältst fest, wie viele Vögel deinen Garten besucht haben. Normalerweise benutzt du eine Strichliste in einem Notizbuch, um die Vögel zu zählen, aber du möchtest besser mit deinen Daten arbeiten. Die Vogelzahlen pro Tag für die letzten Wochen, die du im Notizbuch festgehalten hast, hast du bereits digitalisiert.
Jetzt möchtest du die Gesamtzahl der Vögel bestimmen, die du gezählt hast, die Vogelanzahl für eine bestimmte Woche berechnen und einen Zählfehler korrigieren.
Verwende zum Üben eine for-Schleife, um die folgenden Aufgaben zu lösen.
Beginnen wir mit der Analyse der Daten und verschaffen uns einen Überblick. Finde heraus, wie viele Vögel du insgesamt gezählt hast, seit du mit deinen Aufzeichnungen begonnen hast.
Implementiere eine Funktion totalBirdCount, die ein array-ähnliches Objekt mit der Vogelanzahl pro Tag entgegennimmt.
Sie sollte die Gesamtzahl der Vögel zurückgeben, die du gezählt hast.
birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
totalBirdCount(birdsPerDay);
// => 34
Jetzt, wo du ein allgemeines Gefühl für deine Vogelzahlen bekommen hast, möchtest du eine genauere Analyse machen.
Implementiere eine Funktion birdsInWeek, die ein array-ähnliches Objekt mit der Vogelanzahl pro Tag und eine Wochennummer entgegennimmt.
Sie gibt die Gesamtzahl der Vögel zurück, die du in dieser bestimmten Woche gezählt hast.
Du kannst davon ausgehen, dass Wochen immer vollständig erfasst werden.
birdsPerDay = [2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1];
birdsInWeek(birdsPerDay, 2);
// => 12
Du hast festgestellt, dass sich die ganze Zeit, in der du versucht hast, die Vögel zu erfassen, einer in einer weit entfernten Ecke des Gartens versteckt hat. Du hast herausgefunden, dass dieser Vogel jeden zweiten Tag in deinem Garten war. Du weißt nicht genau, wo er an den Tagen dazwischen war, aber definitiv nicht in deinem Garten. Deine Intuition als Vogelbeobachter sagt dir außerdem, dass der Vogel am ersten Tag, den du in deiner Liste erfasst hast, in deinem Garten war.
Schreibe mit diesen neuen Informationen eine Funktion fixBirdCountLog, die ein array-ähnliches Objekt mit den pro Tag gezählten Vögeln als Argument entgegennimmt. Sie sollte den Zählfehler korrigieren, indem sie das übergebene Array verändert.
birdsPerDay = [2, 5, 0, 7, 4, 1];
fixBirdCountLog(birdsPerDay);
// => [3, 5, 1, 7, 5, 1]
Melde dich bei Exercism an, um JavaScript mit 37 Konzepte159 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.