Ú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 tvarupole.forEach(funkce). -
Parametrem je funkce, která se provede pro každý prvek pole.
-
Tato funkce může mít až tři parametry:
-
hodnota – aktuální prvek pole,
-
index – pořadové číslo prvku,
-
pole – celé pole, nad kterým iterujeme.
-
-
Nelze použít
breakanicontinue– 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
breaknebocontinue: studenti často očekávají, že mohou cyklus přerušit – uforEachto nejde. -
Zapomenutí na závorky u metody:
pole.forEachbez()jen odkazuje na funkci, nic nevykoná. -
Zbytečné používání indexů: pokud potřebujeme jen hodnoty, nemusíme definovat parametry
indexapole. -
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
breakanicontinue– 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:
-
Vytvoř pole
studentialespoň se 4 jmény (jeden prvek může být prázdný řetězec""). -
Pomocí
forEach()vypiš do konzole všechny studenty ve formátu:-
„Student 1: Anna“
-
„Student 2: Petr“
-
… atd.
-
-
U každého jména vypiš i jeho délku (např. „Anna (4 znaky)“).
-
Pomocí
forEach()vytvoř nové polevelkaPismena, kde budou všechna jména převedená na VELKÁ PÍSMENA, a vypiš ho do konzole. -
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
velkaPismenamůžeš plnit pomocípush()uvnitř forEach. -
Nepokoušej se použít
breakanicontinue– forEach vždy projde celé pole.
Řešení úlohy
Co je zde splněno
-
Pole
studentiobsahuje 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
velkaPismenas 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).