Procházení pole objektů

Pole objektů se obvykle zpracovává cyklem. V cyklu for...of je v proměnné cyklu při každém průchodu jeden celý objekt, takže jeho vlastnosti čtete tečkou:

const zvirata = [
    { jmeno: "Rex", druh: "pes", vek: 3 },
    { jmeno: "Micka", druh: "kočka", vek: 2 },
    { jmeno: "Kiwi", druh: "papoušek", vek: 4 }
];

for (const zvire of zvirata) {
    console.log(`${zvire.jmeno} je ${zvire.druh}.`);
}
Rex je pes.
Micka je kočka.
Kiwi je papoušek.

Při prvním průchodu je v proměnné zvire objekt Rexe, při druhém Micky, při třetím Kiwiho. Je dobrým zvykem pojmenovat pole v množném čísle a proměnnou cyklu v jednotném (zvirata, zvire). Kód se pak čte skoro jako věta: pro každé zvíře ze zvířat.

Vzory z lekce o cyklech fungují i tady. Když chcete sečíst věk všech zvířat, přičtěte při každém průchodu jednu vlastnost:

let celkovyVek = 0;
for (const zvire of zvirata) {
    celkovyVek += zvire.vek;
}
console.log("Celkový věk:", celkovyVek);
Celkový věk: 9

A s příkazem if uvnitř cyklu můžete vybrat jen některé objekty, třeba zvířata starší než 2 roky:

for (const zvire of zvirata) {
    if (zvire.vek > 2) {
        console.log(zvire.jmeno);
    }
}
Rex
Kiwi

Typická chyba je zapomenout na vlastnost: celkovyVek += zvire; přičte celý objekt místo jeho věku. Výsledkem pak není číslo, ale podivný text jako 0[object Object][object Object][object Object].

Pokyny

Napište cyklus for...of, který projde kosik a u každé položky vypíše její název a cenu oddělené dvojtečkou, třeba Granule pro psa: 250.

Pod cyklem sečtěte ceny všech položek a výsledek vypište jako Celkem: 535.

Nakonec vypište názvy položek, které stojí méně než 100, každý na samostatný řádek.

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

6/9