Funktionen und Arrays
Ein Argument kann ein beliebiger Wert sein, auch ein Array. Eine Funktion, die ein Array bekommt, kann es mit einer Schleife durchgehen und ein Ergebnis zurückgeben. Diese Funktion addiert alle Zahlen eines Arrays:
function summe(zahlen) {
let gesamt = 0;
for (const zahl of zahlen) {
gesamt += zahl;
}
return gesamt;
}
console.log(summe([1, 2, 3]));
const preise = [120, 45, 80];
console.log(summe(preise));Das gibt aus:
6
245Der Parameter zahlen enthält das Array, das der Aufruf übergibt: zuerst [1, 2, 3], dann das Array preise. Die Schleife kennst du aus der Lektion über Schleifen, aber jetzt steckt sie in einer Funktion, sodass du mit einer einzigen Zeile jedes beliebige Array addieren kannst. Und weil gesamt eine lokale Variable ist, beginnt jeder Aufruf wieder bei 0.
Achte darauf, wo das return steht: nach der Schleife, wenn alle Zahlen addiert sind. Ein häufiger Fehler ist, es in die Schleife zu setzen:
function summe(zahlen) {
let gesamt = 0;
for (const zahl of zahlen) {
gesamt += zahl;
return gesamt;
}
}
console.log(summe([1, 2, 3]));Das gibt aus:
1return beendet die ganze Funktion und damit auch die Schleife, schon im ersten Durchlauf. Die Funktion gibt also nur die erste Zahl zurück.
So schreibst du es:
Anweisungen
- 1
Das Programm endet mit dem Fehler
ReferenceError: durchschnitt is not defined, weil die Funktiondurchschnittnoch nicht existiert. Schreibe sie anstelle des Kommentars: Sie hat einen Parameterzahlenund gibt den Durchschnitt der Zahlen im Array zurück. Addiere sie mit einer Schleife und teile die Summe durch die Anzahl der Elemente,zahlen.length. Das Programm gibt dann die Durchschnittstemperaturen zweier Wochen aus,21und13. - 2
Vergleiche am Ende des Programms die beiden Wochen: Wenn der Durchschnitt von
woche1höher ist als der vonwoche2, gibWoche 1 war wärmeraus.