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
245

V 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:

1

return ukončí celou funkci, a tím i cyklus, hned při prvním průchodu cyklem. Funkce proto vrátí jen první číslo.

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

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

8/10