Funkce a pole
Argumentem může být jakákoli hodnota, tedy i pole. Funkce, která dostane pole, ho může projít cyklem a vrátit výsledek. Tato funkce sečte všechna čísla v poli:
function soucet(cisla) {
let celkem = 0;
for (const cislo of cisla) {
celkem += cislo;
}
return celkem;
}
console.log(soucet([1, 2, 3]));
const ceny = [120, 45, 80];
console.log(soucet(ceny));Tento kód vypíše:
6
245V parametru cisla je to pole, které předá volání: nejdřív [1, 2, 3], potom pole ceny. Cyklus znáte z lekce o cyklech, jenže teď je uvnitř funkce, takže jakékoli pole sečtete jediným řádkem. A protože je celkem lokální proměnná, každé volání začíná znovu od 0.
Všimněte si, kde je return: až za cyklem, když jsou sečtená všechna čísla. Častou chybou je dát ho dovnitř cyklu:
function soucet(cisla) {
let celkem = 0;
for (const cislo of cisla) {
celkem += cislo;
return celkem;
}
}
console.log(soucet([1, 2, 3]));Tento kód vypíše:
1return ukončí celou funkci, a tím i cyklus, hned při prvním průchodu cyklem. Funkce proto vrátí jen první číslo.
Jak psát:
Pokyny
Program skončí chybou ReferenceError: prumer is not defined, protože funkce prumer zatím neexistuje. Napište ji místo komentáře: bude mít parametr cisla a vrátí průměr čísel v poli. Čísla sečtěte cyklem a součet vydělte počtem prvků, cisla.length. Program pak vypíše průměrné teploty dvou týdnů, 21 a 13.
Na konci programu oba týdny porovnejte: pokud je průměr tyden1 vyšší než průměr tyden2, vypište První týden byl teplejší.
Začněte programovat zdarma
8/10