Jak přidat, odebrat a nahradit položky pomocí Array.splice() v JavaScriptu

V JavaScriptu Array.splice() metodu lze použít k přidání, odstranění a nahrazení prvků z pole. Tato metoda upravuje obsah původního pole odstraněním nebo nahrazením existujících prvků a/nebo přidáním nových prvků na místo. Array.splice() vrátí odstraněné prvky (pokud existují) jako pole.

Syntaxe

Zde je syntaxe Array.splice() :

array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
  • start — Počáteční index pro změnu prvků v poli.
  • deleteCount — Celé číslo udávající počet prvků v poli, které se mají odstranit z start . Pokud deleteCount je 0 nebo negativní, nejsou odstraněny žádné prvky. V tomto případě musíte zadat alespoň jeden nový prvek.
  • item1, item2, ... — Prvky, které mají být přidány do pole, počínaje start . Pokud nejsou zadány žádné prvky, splice() odebere pouze prvky z pole.

Odebrání prvků

Zde je příklad, který používá Array.splice() pro odstranění prvních dvou prvků ze začátku pole:

const fruits = ['Apple', 'Orange', 'Mango', 'Banana'];

// remove first elements
const removed = fruits.splice(0, 2);

console.log(fruits); // ['Mango', 'Banana']
console.log(removed); // ['Apple', 'Orange']

Pokud deleteCount je vynechán, všechny prvky začínající od start jsou odstraněny z pole:

const fruits = ['Apple', 'Orange', 'Mango', 'Banana'];

const removed = fruits.splice(1);

console.log(fruits); // ['Apple']
console.log(removed); // ['Orange', 'Mango', 'Banana']

Výměna prvků

Odstraněné položky můžete také nahradit novými pomocí Array.splice() :

const fruits = ['Apple', 'Orange', 'Mango', 'Banana'];

const removed = fruits.splice(1, 2, 'Cherry', 'Watermelon');

console.log(fruits); // ['Apple', 'Cherry', 'Watermelon', 'Banana']
console.log(removed); // ['Orange', 'Mango']

Přidávání prvků

Chcete-li přidat nové prvky pomocí Array.splice() , stačí nastavit deleteCount na nulu a předat nové položky:

const fruits = ['Apple', 'Orange', 'Mango', 'Banana'];

const removed = fruits.splice(2, 0, 'Cherry');

console.log(fruits); // ['Apple', 'Orange', 'Cherry', 'Mango', 'Banana']
console.log(removed); // []

Kompatibilita prohlížeče

Array.splice() metoda funguje ve všech moderních prohlížečích a IE6 a vyšších.

Chcete-li se dozvědět více o JavaScriptových polích a jak je používat k ukládání více informací do jedné jediné proměnné, podívejte se na tuto příručku.