Úvod do úlohy

Teoreticky už víme, že dvourozměrné pole je pole, které obsahuje další pole. Teď se podíváme na praktické příklady, kde tato struktura opravdu pomáhá. Typickou ukázkou je tabulka nebo matice – například malá násobilka, tabulka výsledků nebo herní mapa. Abychom mohli všechny prvky takové struktury pohodlně projít, použijeme vnořené cykly: první cyklus projde řádky a druhý cyklus projde prvky uvnitř řádku (sloupce). Studenti si také vyzkouší práci s „nerovnoměrnými“ daty, kdy každý řádek může mít jiný počet prvků.

Teorie a principy

  • Vnořený cyklus: dva cykly for za sebou – vnější pro řádky, vnitřní pro sloupce.

  • Výpis tabulky: do konzole můžeme výpis spojovat do řádků pomocí join(). Na webové stránce použijeme <br> pro zalomení.

  • Nerovnoměrná data: v JavaScriptu není nutné, aby všechny řádky měly stejnou délku. Proto je bezpečnější použít pole[i].length místo pevného čísla.

Praktické příklady kódu

1. Malá násobilka (4×4 tabulka)

2. Výpis matice na webovou stránku

3. Nerovnoměrná data – různé délky řádků

Typické chyby / záludnosti

  • Pevné číslo místo length: studenti někdy zapomenou, že každý řádek může mít jinou délku, a místo data[i].length použijí pevný limit.

  • Prohození indexů: snadno se zamění pořadí [řádek][sloupec].

  • Nevhodný výpis: při console.log(matice[i]) dostaneme celý řádek jako pole, pro hezký formát je vhodné použít join(" ").

  • Zapomenuté zalomení: při výpisu do HTML je nutné přidat <br> nebo jiný prvek pro nový řádek.

Shrnutí

  • Dvourozměrná pole se hodí pro reprezentaci tabulek, matic a složitějších dat.

  • Vnořený cyklus umožňuje projít všechny řádky i sloupce.

  • join() usnadňuje převod řádku na hezký text.

  • Nerovnoměrná data nejsou problém – proto vždy používej data[i].length.

  • Výstup lze směřovat jak do konzole, tak na webovou stránku.