Metoda splice

Metoda splice maže nebo přidává prvky v poli. Lze pouze mazat prvky, pouze přidávat nebo dělat obojí současně. Metoda je velmi univerzální a složitá na pochopení. Metoda mění samotné pole a vrací přitom pole smazaných prvků.

Prvním parametrem metoda přijímá číslo prvku pole, který je třeba smazat. Druhým parametrem - kolik prvků pole se má smazat. Pokud se nastaví na 0 - prvky nebudou smazány (pouze přidány nové). Dále přes čárku následují prvky, které je třeba přidat do pole (jsou volitelnými parametry). Tyto prvky se přidají namísto smazaných prvků pole.

Pokud nedošlo ke smazání (když druhý parametr 0) - prvky se vloží do pole počínaje pozicí, která je uvedena prvním parametrem metody. První parametr může mít zápornou hodnotu. V tomto případě začne odpočet pozice ne od začátku pole, ale od konce. Poslední prvek přitom bude mít číslo -1.

Syntaxe

javascriptpole.splice(odkud mažeme, kolik mažeme, [vložit], [vložit]...);

Příklad

Odstraníme tři prvky, počínaje prvním:

javascriptlet arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);

console.log(arr);

Výsledek provedení kódu:

javascript['a', 'e']

Příklad

Vypíšeme pole smazaných prvků:

javascriptlet arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);

console.log(del);

Výsledek provedení kódu:

javascript['b', 'c', 'd']

Příklad

Nejprve smažeme prvek s číslem 2, a pak namísto něj vložíme další tři nové prvky:

javascriptlet arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');

console.log(arr);

Výsledek provedení kódu:

javascript['a', 'b', '1', '2', '3', 'd', 'e']

Příklad

Nyní nic nebudeme mazat, ale na pozici 2, vložíme další tři nové prvky:

javascriptlet arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');

console.log(arr);

Výsledek provedení kódu:

javascript['a', 'b', '1', '2', '3', 'c', 'd', 'e']

Příklad . Záporná hodnota

Odstraníme předposlední prvek:

javascriptlet arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);

console.log(arr);

Výsledek provedení kódu:

javascript['a', 'b', 'c', 'e']

Viz také

  • metoda slice,
    která také vyjímá části pole
  • metoda shift,
    která maže první prvek pole
  • metoda pop,
    která maže poslední prvek pole