Úloha 2 – Využití metody forEach() pro výpis, úpravu a kontrolu dat

Website: Moodle ZČU
Kurs: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Buch: Úloha 2 – Využití metody forEach() pro výpis, úpravu a kontrolu dat
Gedruckt von: Nepřihlášený host
Datum: Sonntag, 18. Oktober 2026, 15:27

Úvod do úlohy

Doposud jsme k procházení pole používali klasické cykly for nebo while, kde jsme pracovali s indexy a podmínkami. JavaScript nám ale nabízí i pohodlnější a čitelnější cestu – metodu forEach(). Tato metoda patří mezi tzv. iterační metody pole a umožňuje jednoduše provést nějakou akci nad každým prvkem pole, aniž bychom museli ručně řešit indexování nebo zastavovací podmínku. Díky tomu je kód kratší, jasnější a méně náchylný k chybám.

Teorie a principy

  • forEach() je metoda pole. Zavoláme ji ve tvaru pole.forEach(funkce).

  • Parametrem je funkce, která se provede pro každý prvek pole.

  • Tato funkce může mít až tři parametry:

    1. hodnota – aktuální prvek pole,

    2. index – pořadové číslo prvku,

    3. pole – celé pole, nad kterým iterujeme.

  • Nelze použít break ani continue – metoda proběhne přes všechny prvky. Proto je vhodná hlavně pro jednoduchý průchod, kde se vždy vykonává stejná operace.

Praktické příklady kódu

1. Základní použití forEach

2. Použití všech parametrů

3. Omezení – nelze přerušit

Typické chyby / záludnosti

  • Snaha použít break nebo continue: studenti často očekávají, že mohou cyklus přerušit – u forEach to nejde.

  • Zapomenutí na závorky u metody: pole.forEach bez () jen odkazuje na funkci, nic nevykoná.

  • Zbytečné používání indexů: pokud potřebujeme jen hodnoty, nemusíme definovat parametry index a pole.

  • Nevhodné použití pro složitou logiku: pokud potřebujeme přeskočit iteraci nebo skončit uprostřed, je lepší klasický for.

Shrnutí

  • forEach() je metoda pole pro jednoduchý průchod všemi prvky.

  • Spouští zadanou funkci pro každý prvek, ta může využívat hodnotu, index i celé pole.

  • Kód je přehlednější než klasický for, není třeba řešit podmínky cyklu.

  • Nelze použít break ani continue – metoda projde celé pole vždy.

  • Hodí se pro operace, které se musí provést na všech prvcích.

Úloha

Zadání (kontext úlohy):

Škola má seznam studentů a potřebuje s ním pracovat. Chceš zobrazit jejich jména, zároveň zjistit jejich délku (počet znaků), převést jména do velkých písmen a nakonec zkontrolovat, zda někde není prázdný řetězec (student bez jména).


Cíl úlohy:

Procvičit metodu forEach() v různých situacích – výpis hodnot, práce s indexem, úpravy prvků a jednoduché kontroly.


Vstupní podmínky:

Student pracuje pouze s nově vytvořeným souborem script.js.


Požadovaný výstup:
  1. Vytvoř pole studenti alespoň se 4 jmény (jeden prvek může být prázdný řetězec "").

  2. Pomocí forEach() vypiš do konzole všechny studenty ve formátu:

    • „Student 1: Anna“

    • „Student 2: Petr“

    • … atd.

  3. U každého jména vypiš i jeho délku (např. „Anna (4 znaky)“).

  4. Pomocí forEach() vytvoř nové pole velkaPismena, kde budou všechna jména převedená na VELKÁ PÍSMENA, a vypiš ho do konzole.

  5. Použij forEach() k prohledání seznamu – pokud najdeš prázdný řetězec, vypiš varování „Pozor, chybí jméno u studenta číslo X“.


Doplňující pokyny:
  • Index ve forEach začíná na 0, pro pořadí přičti 1.

  • Nové pole velkaPismena můžeš plnit pomocí push() uvnitř forEach.

  • Nepokoušej se použít break ani continue – forEach vždy projde celé pole.

Řešení úlohy

Co je zde splněno

  • Pole studenti obsahuje 4 jména, jedno z nich je prázdný řetězec.

  • Pomocí forEach() vypsán seznam studentů s pořadím od 1.

  • U každého jména vypsán i počet znaků (.length).

  • Vytvořeno nové pole velkaPismena s jmény převedenými na velká písmena.

  • Detekován prázdný řetězec a vypsáno varování se správným číslem studenta.

Vylepšení oproti začátečnické verzi

  • Použity šipkové funkce pro kratší zápis.

  • Použity šablonové řetězce pro přehlednější výpis.

  • Varování pro chybějící jméno vypsáno přes console.warn() (zvýrazní se v konzoli).