Ú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
-
lengthje číselná vlastnost pole, která udává jeho aktuální velikost (tj. počet prvků). -
Pokud do pole přidáme nový prvek, hodnota
lengthse automaticky zvýší. -
Pokud naopak pole zkrátíme změnou
lengthna menší číslo, odstraní se všechny prvky za tímto indexem. -
lengthje 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
lengthje 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íšemei <= 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í
-
lengthvždy ukazuje aktuální velikost pole. -
Hodnota se automaticky mění při přidávání a odebírání prvků.
-
Pomocí
lengthmůžeme bezpečně projít celé pole v cyklu. -
Změnou
lengthlze 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
letneboconst. -
V cyklech vždy piš podmínku
i < pole.length.
Požadovaný výstup:
-
Vytvoř pole se 3 jmény účastníků.
-
Vypiš do konzole aktuální počet účastníků (
.length). -
Přidej do pole nového účastníka.
-
Vypiš do konzole novou délku pole.
-
Pomocí cyklu
forvypiš do konzole všechny účastníky v podobě:-
„1. účastník: jméno“
-
„2. účastník: jméno“
-
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]. -
.lengthje čí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
forvypsá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
forvyuž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].