A splice metódus
A splice metódus töröl vagy ad hozzá
elemeket egy tömbhöz. Csak elemeket lehet törölni,
csak elemeket hozzáadni, vagy mindkettőt
egyszerre végezni. A metódus nagyon univerzális és
nehéz megérteni.
A metódus magát a tömböt módosítja, és
eközben a törölt elemek tömbjét adja vissza.
Első paraméterként a metódus azt a tömbelem számát fogadja,
amelyet törölni kell. Második paraméterként
- hány elemet kell törölni a tömbből.
Ha 0-ra állítjuk - akkor az elemek nem lesznek
törölve (csak új elemek lesznek hozzáadva).
Ezután vesszővel elválasztva következnek az elemek, amelyeket
hozzá kell adni a tömbhöz (nem kötelező paraméterek).
Ezek az elemek a törölt tömbelemek helyére kerülnek.
Ha nem volt törlés (amikor a második paraméter
0) - az elemek a tömbbe kerülnek, kezdve
attól a pozíciótól, amelyet a metódus első paramétere
határoz meg. Az első paraméter lehet negatív.
Ebben az esetben a pozíció számítása nem
a tömb elejétől, hanem a végétől kezdődik. Az utolsó elem
ekkor a -1 számú lesz.
Szintaxis
tömb.splice(honnan töröljük, mennyit töröljünk, [beszúrni], [beszúrni]...);
Példa
Töröljünk ki három elemet, az elsőtől kezdve:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
A kód végrehajtásának eredménye:
['a', 'e']
Példa
Írjuk ki a törölt elemek tömbjét:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
A kód végrehajtásának eredménye:
['b', 'c', 'd']
Példa
Először töröljük a
2 számú elemet,
majd a helyébe szúrjunk be még
három új elemet:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
A kód végrehajtásának eredménye:
['a', 'b', '1', '2', '3', 'd', 'e']
Példa
Most ne töröljünk semmit, de
a 2 pozícióra szúrjunk be még három új
elemet:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
A kód végrehajtásának eredménye:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Példa . Negatív érték
Töröljük ki a utolsó előtti elemet:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
A kód végrehajtásának eredménye:
['a', 'b', 'c', 'e']