Úloha 4 – Použití metod push, pop, shift, unshift, splice, slice, concat
| Stránky: | Moodle ZČU |
| Kurz: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Kniha: | Úloha 4 – Použití metod push, pop, shift, unshift, splice, slice, concat |
| Vytiskl(a): | Nepřihlášený host |
| Datum: | neděle, 18. října 2026, 15.54 |
Úvod do úlohy
Když už víme, jak pole fungují a jak s nimi pracovat přes indexy a vlastnost length, je čas udělat krok dál: poznat metody polí. Tyto metody nám poskytují pohodlný způsob, jak přidávat a odebírat prvky z různých částí pole. Místo toho, abychom ručně měnili hodnoty na konkrétních indexech a riskovali chyby nebo „díry“ v poli, stačí použít vhodnou metodu. Výsledný kód je pak kratší, přehlednější a hlavně bezpečnější.
Teorie a principy
-
Metody měnící původní pole:
-
push()– přidá prvek na konec pole. -
pop()– odstraní poslední prvek pole. -
shift()– odstraní první prvek pole. -
unshift()– přidá prvek na začátek pole. -
splice()– umožňuje vložit nebo odebrat prvky uprostřed pole.
-
-
Metody vracející nové pole (nemění původní):
-
slice()– vrátí výřez pole (kopii vybraných prvků). -
concat()– spojí více polí do jednoho nového.
-
-
Důležité je umět poznat, kdy je vhodné měnit původní pole a kdy naopak chceme vytvořit nové, aniž bychom původní data ztratili.
Praktické příklady kódu
1. Přidávání a odebírání na konci a začátku
2. Úpravy uprostřed pomocí splice
3. Metody vracející nové pole
Typické chyby / záludnosti
-
Záměna metod: studenti si často pletou
shift()aunshift()– jeden odebírá, druhý přidává. -
Neuvědomění si, že
splicemění původní pole: to může vést ke ztrátě dat, pokud jsme to nečekali. -
Očekávání, že
sliceupraví původní pole: ve skutečnosti vrací kopii a původní data zůstávají beze změny. -
Zapomenutí, že
pushapoppracují jen s koncem pole – pro vložení doprostřed je nutné použítsplice.
Shrnutí
-
Push / pop – práce s koncem pole.
-
Shift / unshift – práce se začátkem pole.
-
Splice – úpravy uprostřed (mazání i vkládání).
-
Slice / concat – vytvářejí nová pole, nemění původní.
-
Každá metoda má své místo – důležité je zvolit správnou podle toho, zda chceme měnit původní pole, nebo vytvořit nové.
Úloha
Zadání (kontext úlohy):
Spravuješ malý „to-do“ seznam. Budeš do něj přidávat úkoly na začátek i konec, některé odebereš, vložíš úkol doprostřed, vyrobíš výřez pro „ranní plán“ a nakonec seznam spojíš s dalšími úkoly.
Cíl úlohy:
Vyzkoušet si na jednom místě základní metody polí: push, pop, shift, unshift, splice, slice, concat a práci s .length.
Vstupní podmínky:
Student pracuje pouze s nově vytvořeným souborem script.js.
Používej jen let nebo const (nikdy var).
Požadovaný výstup:
-
Vytvoř pole
ukolyse 3 textovými položkami. -
Přidej úkol na začátek pomocí
unshifta vypiš celé pole. -
Přidej úkol na konec pomocí
pusha vypiš délku pole (.length). -
Odeber první úkol pomocí
shift, ulož ho do proměnnéprvniUkola vypiš jej. -
Odeber poslední úkol pomocí
pop, ulož ho do proměnnéposledniUkola vypiš jej. -
Vlož doprostřed pole nový úkol (na index 1) pomocí
splicebez mazání stávajících prvků a vypiš pole. -
Odeber jeden úkol na indexu 2 pomocí
splice, výsledek ulož do proměnnéodstranenea vypiš ji. -
Vytvoř nové pole
ranojako kopii prvních dvou úkolů pomocíslicea vypiš ho. -
Vytvoř pole
navicse 2 úkoly a spoj ho s aktuálním polemukolypomocíconcatdo nového polevse. Vypišvsei jeho délku.
Doplňující pokyny:
-
splicemění původní pole,sliceaconcatvrací nové pole. -
Po každé akci vypisuj stav do konzole, uvidíš tak změny krok za krokem.
-
Pozor na indexy: první prvek má index
0.
Řešení úlohy
Co je zde splněno
-
Vytvořeno pole
ukolyse 3 textovými položkami. -
Přidán úkol na začátek (
unshift) a vypsáno celé pole. -
Přidán úkol na konec (
push) a vypsána aktuální délka (.length). -
Odebrán první úkol (
shift) doprvniUkola vypsán; totéž pro poslední úkol (pop) doposledniUkol. -
Doprostřed pole vložen nový úkol (
splices druhým parametrem0), pole vypsáno. -
Odebrán jeden úkol na indexu
2(splice), uložen doodstranenea vypsán. -
Vytvořen „ranní plán“
ranopomocíslice(0, 2)a vypsán. -
Pole
navicspojeno sukolydo nového polevsepomocíconcat; vypsán obsah i délka. -
Po každém kroku proveden výpis do konzole pro sledování změn.
Poznámky
splicemění původní pole (ukoly), zatímcosliceaconcatvrací nová pole (rano,vse).V cyklech (kdybys je použil) vždy piš podmínku
i < pole.length, aby ses vyhnulundefinedna posledním kroku.