Ú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() a unshift() – jeden odebírá, druhý přidává.

  • Neuvědomění si, že splice mění původní pole: to může vést ke ztrátě dat, pokud jsme to nečekali.

  • Očekávání, že slice upraví původní pole: ve skutečnosti vrací kopii a původní data zůstávají beze změny.

  • Zapomenutí, že push a pop pracují jen s koncem pole – pro vložení doprostřed je nutné použít splice.

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:
  1. Vytvoř pole ukoly se 3 textovými položkami.

  2. Přidej úkol na začátek pomocí unshift a vypiš celé pole.

  3. Přidej úkol na konec pomocí push a vypiš délku pole (.length).

  4. Odeber první úkol pomocí shift, ulož ho do proměnné prvniUkol a vypiš jej.

  5. Odeber poslední úkol pomocí pop, ulož ho do proměnné posledniUkol a vypiš jej.

  6. Vlož doprostřed pole nový úkol (na index 1) pomocí splice bez mazání stávajících prvků a vypiš pole.

  7. Odeber jeden úkol na indexu 2 pomocí splice, výsledek ulož do proměnné odstranene a vypiš ji.

  8. Vytvoř nové pole rano jako kopii prvních dvou úkolů pomocí slice a vypiš ho.

  9. Vytvoř pole navic se 2 úkoly a spoj ho s aktuálním polem ukoly pomocí concat do nového pole vse. Vypiš vse i jeho délku.


Doplňující pokyny:
  • splice mění původní pole, slice a concat vrací 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 ukoly se 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) do prvniUkol a vypsán; totéž pro poslední úkol (pop) do posledniUkol.

  • Doprostřed pole vložen nový úkol (splice s druhým parametrem 0), pole vypsáno.

  • Odebrán jeden úkol na indexu 2 (splice), uložen do odstranene a vypsán.

  • Vytvořen „ranní plán“ rano pomocí slice(0, 2) a vypsán.

  • Pole navic spojeno s ukoly do nového pole vse pomocí concat; vypsán obsah i délka.

  • Po každém kroku proveden výpis do konzole pro sledování změn.

Poznámky

  • splice mění původní pole (ukoly), zatímco slice a concat vrací nová pole (rano, vse).

  • V cyklech (kdybys je použil) vždy piš podmínku i < pole.length, aby ses vyhnul undefined na posledním kroku.