Úloha 3 – Práce s .length a iterací pole

Site: Moodle ZČU
Course: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Book: Úloha 3 – Práce s .length a iterací pole
Printed by: Guest user
Date: Sunday, 18 October 2026, 10:00 AM

Úvod do úlohy

Jedna z nejdůležitějších vlastností pole v JavaScriptu je length. Díky ní vždy víme, kolik prvků pole právě obsahuje. Tato informace je klíčová zejména v situacích, kdy potřebujeme projít celé pole v cyklu nebo kdy dynamicky přidáváme či odstraňujeme hodnoty. Pokud bychom length nepoužívali, museli bychom si sami počítat počet prvků, což je nepraktické a náchylné k chybám.

Teorie a principy

  • length je číselná vlastnost pole, která udává jeho aktuální velikost (tj. počet prvků).

  • Pokud do pole přidáme nový prvek, hodnota length se automaticky zvýší.

  • Pokud naopak pole zkrátíme změnou length na menší číslo, odstraní se všechny prvky za tímto indexem.

  • length je proto užitečná jak pro kontrolu velikosti, tak pro řízení cyklů – umožňuje projít pole od prvního do posledního prvku, i když nevíme dopředu, kolik prvků obsahuje.

Praktické příklady kódu

1. Použití length k určení velikosti pole

2. Iterace přes celé pole pomocí length

3. Zkrácení pole změnou length

4. Umělé prodloužení pole

Typické chyby / záludnosti

  • Zapomenutí na dynamickou délku: studenti si někdy myslí, že length je pevně daná při vytvoření pole. Ve skutečnosti se mění s každou úpravou.

  • Použití <= v cyklu místo <: pokud napíšeme i <= pole.length, pokusíme se přistoupit k neexistujícímu indexu (ten vrátí undefined).

  • Prodloužení pole nastavením length: vznikají prázdná místa (undefined), která mohou vést k nečekaným výsledkům.

  • Mazání prvků změnou length: takto opravdu ztratíme data – není to jen „vizuální zkrácení“, ale trvalé odstranění.

Shrnutí

  • length vždy ukazuje aktuální velikost pole.

  • Hodnota se automaticky mění při přidávání a odebírání prvků.

  • Pomocí length můžeme bezpečně projít celé pole v cyklu.

  • Změnou length lze pole zkrátit i prodloužit, ale to může mít nežádoucí efekty (mazání nebo prázdná místa).

  • V cyklech vždy používej i < pole.length, ne <=.

Úloha

Zadání (kontext úlohy):

Představ si, že organizuješ soutěž a potřebuješ spravovat seznam účastníků. Na začátku máš jen několik jmen. V průběhu ale někdo nový přibyde a na konci chceš vypsat všechny účastníky spolu s jejich pořadím.


Cíl úlohy:

Procvičit práci s polem, vlastností .length, přidáváním prvků a průchodem přes celé pole pomocí cyklu.


Vstupní podmínky:
  • Student pracuje pouze s nově vytvořeným souborem script.js.

  • Používej jen let nebo const.

  • V cyklech vždy piš podmínku i < pole.length.


Požadovaný výstup:
  1. Vytvoř pole se 3 jmény účastníků.

  2. Vypiš do konzole aktuální počet účastníků (.length).

  3. Přidej do pole nového účastníka.

  4. Vypiš do konzole novou délku pole.

  5. Pomocí cyklu for vypiš do konzole všechny účastníky v podobě:

    1. „1. účastník: jméno“

    2. „2. účastník: jméno“

    3. atd.


Doplňující pokyny:
  • Pořadí účastníků začíná na 1, ale indexy v poli začínají od 0 → mysli na to při výpisu.

  • Pokud bys chtěl vypsat jen posledního účastníka, použij pole[pole.length - 1].

  • .length je číslo, takže ho můžeš používat i ve výrazech (např. v podmínce cyklu).

Řešení úlohy

Co je zde splněno

  • Pole vytvořeno se 3 jmény účastníků.

  • Vypsán aktuální počet účastníků pomocí .length.

  • Do pole byl přidán nový účastník metodou .push().

  • Znovu vypsán počet účastníků (automaticky se zvýšil).

  • Pomocí cyklu for vypsáni všichni účastníci včetně jejich pořadí (začíná od 1).

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

  • Použití šablonových řetězců (` a ${...}) pro čitelnější výpis.

  • Namísto klasického for využita metoda .forEach(), která je přehlednější a sama prochází celé pole.

  • Výsledek je stejný, ale kód je stručnější a modernější.

Poznámky

  • Pořadí začíná od 1, ale indexy od 0 → proto se píše (i + 1).

  • Pokud bys chtěl jen posledního účastníka, můžeš použít ucastnici[ucastnici.length - 1].