Úloha 1 – Operace s polem – přidání, výpis a délka
Úvod do úlohy
Pole patří mezi nejdůležitější datové struktury v programování, protože umožňují uchovávat více hodnot pod jedním názvem. Místo toho, abychom měli desítky samostatných proměnných, můžeme mít jedno pole, ve kterém jsou všechny hodnoty uspořádané a přístupné podle pořadí. Tento princip je užitečný například při práci se seznamem studentů, výsledků testu nebo názvy produktů v e-shopu. Správné pochopení polí je proto klíčové pro psaní efektivního a přehledného kódu.
Teorie a principy
-
Deklarace pole: Pole se zapisuje pomocí hranatých závorek
[]. -
Inicializace pole: Při vytváření můžeme rovnou vložit hodnoty – pole tedy může být prázdné nebo plné dat.
-
Uspořádání prvků: Každá hodnota má svou pozici (index), který začíná od nuly.
-
Použití
const: Obvyklou konvencí je deklarovat pole pomocíconst. To znamená, že neměníme samotnou referenci na pole, ale přidávat, měnit nebo mazat prvky v něm je stále možné. -
Dynamická délka: Na rozdíl od některých jiných jazyků je v JavaScriptu délka pole pružná – pole se může během běhu programu zvětšovat i zmenšovat.
Praktické příklady kódu
1. Deklarace a inicializace
2. Přístup k prvkům a délce
3. Přidávání a odebírání hodnot
Typické chyby / záludnosti
-
Indexování od nuly: Začátečníci často zapomenou, že první prvek je na pozici
0, nikoliv1. -
Záměna
consts neměnností:constneznamená, že pole je neměnné – zakazuje pouze přiřazení nové reference. -
Přístup mimo rozsah: Pokud se pokusíme získat prvek na indexu, který neexistuje, dostaneme
undefined. -
Mix datových typů: Pole může obsahovat různé typy hodnot, ale přílišná směsice dat znesnadňuje práci a snižuje čitelnost kódu.
Shrnutí
-
Pole ukládá více hodnot pod jedním názvem a prvky jsou indexované od nuly.
-
Deklarace probíhá pomocí
[]a nejčastěji s klíčovým slovemconst. -
Délka pole se může během běhu programu měnit.
-
Přístup k prvkům probíhá pomocí indexů, délku zjistíme vlastností
.length. -
Pozor na typické chyby: indexování od nuly, práce s
consta přístup mimo rozsah.