Metodas splice
Metodas splice pašalina arba prideda
elementus į masyvą. Galima tik pašalinti elementus,
tik pridėti arba daryti abu veiksmus
vienu metu. Metodas yra labai universalus ir
sudėtingas supratimui.
Metodas modifikuoja patį masyvą ir grąžina tuo
pat metu pašalintų elementų masyvą.
Pirmuoju parametru metodas priima masyvo elemento
numerį, kurį reikia pašalinti. Antruoju parametru
- kiek masyvo elementų reikia pašalinti.
Jei jį nustatyti į 0 - tai elementai nebus pašalinti
(tik bus pridėti nauji).
Toliau per kablelį seka elementai, kuriuos
reikia pridėti į masyvą (yra neprivalomi
parametrai). Šie elementai bus pridėti vietoje
pašalintų masyvo elementų.
Jei pašalinimo nebuvo (kai antrasis parametras
0) - elementai bus įterpti į masyvą pradedant
nuo tos pozicijos, kuri nurodyta pirmuoju parametru
metodo. Pirmasis parametras gali turėti neigiamą
reikšmę. Tokiu atveju pozicijos skaičiavimas prasidės
ne nuo masyvo pradžios, o nuo pabaigos. Paskutinis elementas
tuo pačiu turės numerį -1.
Sintaksė
masyvas.splice(iš kur šaliname, kiek šaliname, [įterpti], [įterpti]...);
Pavyzdys
Pašalinkime tris elementus, pradedant nuo pirmojo:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Kodo vykdymo rezultatas:
['a', 'e']
Pavyzdys
Išveskime pašalintų elementų masyvą:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Kodo vykdymo rezultatas:
['b', 'c', 'd']
Pavyzdys
Pirmiausia pašalinkime elementą su numeriu
2, o po to vietoje jo įterpkime dar
tris naujus elementus:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Kodo vykdymo rezultatas:
['a', 'b', '1', '2', '3', 'd', 'e']
Pavyzdys
Dabar nieko nešalinkime, bet
į poziciją 2, įterpkime dar tris naujus
elementus:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Kodo vykdymo rezultatas:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Pavyzdys . Neigiama reikšmė
Pašalinkime priešpaskutinį elementą:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Kodo vykdymo rezultatas:
['a', 'b', 'c', 'e']