Zählen
Das zweite Muster zählt: Wie viele Elemente eines Arrays erfüllen eine Bedingung? Es sieht aus wie das Addieren, aber statt des Werts addierst du 1, und zwar nur, wenn ein if es sagt:
const temperaturen = [18, 24, 27, 15, 31, 22, 29];
let heisseTage = 0;
for (const temperatur of temperaturen) {
if (temperatur >= 25) {
heisseTage++;
}
}
console.log("Heiße Tage:", heisseTage);Heiße Tage: 3Der Zähler heisseTage beginnt vor der Schleife bei 0. Die Schleife betrachtet jede Temperatur, und das if entscheidet, ob sie gezählt wird. heisseTage++ wird nur für 27, 31 und 29 ausgeführt, also ist der Zähler am Ende 3. Auch hier gibst du das Ergebnis nach der Schleife aus.
Manchmal willst du nicht nur wissen, wie viele, sondern auch welche. Beginne dann mit einem leeren Array und lege jedes passende Element mit .push() hinein:
const temperaturen = [18, 24, 27, 15, 31, 22, 29];
const heiss = [];
for (const temperatur of temperaturen) {
if (temperatur >= 25) {
heiss.push(temperatur);
}
}
console.log("Heiße Temperaturen:", heiss);
console.log("Heiße Tage:", heiss.length);Heiße Temperaturen: [27, 31, 29]
Heiße Tage: 3Das Array heiss kann eine const sein: Du fügst ihm Elemente hinzu, speicherst aber nie ein anderes Array in der Variablen.
So schreibst du es:
Anweisungen
- 1
Das Array
punktzahlenenthält die Punkte aus einem Test. Du bestehst mit 50 Punkten oder mehr. Zähle die Schüler, die bestanden haben: Erstelle eine Variablebestandenmit dem Wert0, gehepunktzahlenmit einer Schleife durch und erhöhebestandenfür jede Punktzahl von mindestens 50 mit++um eins. Gib nach der Schleifeconsole.log("Bestanden:", bestanden);aus. Die Ausgabe istBestanden: 5. - 2
Sammle jetzt auch die Punktzahlen unter 50: Erstelle vor der Schleife ein leeres Array
durchgefallenund füge in der Schleife jede Punktzahl unter 50 mit.push()hinzu (einelsereicht). Gib es nach der Schleife mitconsole.log("Durchgefallen:", durchgefallen);aus. Die Ausgabe istDurchgefallen: [45, 38, 29].