Projdeme si, co je to pole a jak uložit více hodnot do jedné proměnné, jak k nim přistupovat a jak je měnit.
Podklady pro tuto lekci si stáhni zde. Stažený ZIP rozbal u sebe na počítači a složku otevři v editoru VS Code.
Pole
Pole (anglicky array) je datová struktura sloužící k uložení více různých hodnot. Můžeme si ho představit jako skříňku s poličkami. Každá polička slouží pro uložení nějaké hodnoty a má svoje číslo, kterému říkáme index. Pomocí indexu pak můžeme přistoupit přímo k poličce (hodnotě), kterou chceme, aniž bychom museli procházet všechny předchozí. Důležité je mít na paměti, že v JS jsou pole indexována (začínají) od nuly.
Pole v JavaScriptu může obsahovat hodnoty s různými datovými typy, čímž se liší od jazyků jako Java nebo C#, kde musí mít pole předem daný datový typ pro hodnoty, které bude obsahovat.
Pro vytvoření potřebuje pole hranaté závorky, do kterých přidáváme hodnoty oddělené čárkou.
// Vytvoření pole
let skrinka = ["šaty", "trička", "kalhoty", "svetry", "ponožky"];
// Délka pole
console.log(skrinka.length)
// Vypíše 5, protože length vrací počet prvků v poli (jeho délku)
// Přístup k poli
console.log(skrinka[0]);
// Vypíše "šaty", protože na indexu 0 je první prvek v poli
console.log(skrinka[2]);
// Vypíše "kalhoty"
console.log(skrinka[skrinka.length - 1]);
// Vypíše "ponožky", protože na indexu 4 (length - 1 => 5 - 1 => 4)
// je poslední prvek v poli
// Odebrání prvků z pole
skrinka.pop();
// Vymaže "ponožky", poslední prvek v poli
// a zároveň ho i vrátí pro uložení od proměnné
// ["šaty", "trička", "kalhoty", "svetry"];
skrinka.shift()
// Vymaže "šaty", první prvek v poli
// a zároveň ho i vrátí pro uložení od proměnné
// ["trička", "kalhoty", "svetry"];
// Přidávání prvků do pole
skrinka.push("ponožky");
// Vloží "ponožky", na konec pole
// ["trička", "kalhoty", "svetry", "ponožky"];
skrinka.unshift("šaty");
// Vloží "šaty", na začátek pole
// ["šaty", "trička", "kalhoty", "svetry", "ponožky"];
Pole se dá procházet jeden prvek po druhém pomocí for-cyklu (iterace nad polem). Tímto způsobem lze přistoupit ke každému prvku, se kterým můžeme dále pracovat.
let skrinka = ["šaty", "trička", "kalhoty", "svetry", "ponožky"];
for (let i = 0; i < skrinka.length; i++) {
// Přístup k jednomu prvku za druhým
let soucasnyPrvek = skrinka[i];
}
Kontrolní otázky
- K čemu nám slouží pole?
- Jak se říká číselné pozici prvků v poli?
- Na jaké pozici leží první prvek?
- Jak oddělujeme prvky v poli?
- Čím se liší pole v JavaScriptu od toho v Javě?