Meetod splice
Meetod splice eemaldab või lisab
elemente massiivi. Võimalik on ainult elemente eemaldada,
ainult lisada või teha mõlemad toimingud
korraga. Meetod on väga mitmekülgne ja
raske mõistmiseks.
Meetod muudab massiivi ennast ja tagastab
selle käigus eemaldatud elementide massiivi.
Esimese parameetrina võtab meetod massiivi elemendi numbri,
mida tuleb eemaldada. Teise parameetrina
- mitu massiivi elementi tuleks eemaldada.
Kui selleks määrata 0 - siis elemente ei eemaldata
(ainult lisatakse uued elemendid).
Edasi järgnevad komadega eraldatult elemendid, mida
tuleb massiivi lisada (on valikulised
parameetrid). Need elemendid lisatakse massiivi
eemaldatud elementide asemele.
Kui eemaldamist ei toimunud (kui teine parameeter on
0) - lisatakse elemendid massiivi alates
sellest positsioonist, mis on määratud meetodi esimese
parameetriga. Esimene parameeter võib olla negatiivne.
Sel juhul algab positsiooni lugemine
mitte massiivi algusest, vaid lõpust. Viimane element
sel juhul on number -1.
Süntaks
massiiv.splice(kust eemaldame, mitu eemaldame, [lisada], [lisada]...);
Näide
Eemaldame kolm elementi, alates esimesest:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Koodi täitmise tulemus:
['a', 'e']
Näide
Väljastame eemaldatud elementide massiivi:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Koodi täitmise tulemus:
['b', 'c', 'd']
Näide
Kõigepealt eemaldame elemendi numbriga
2, seejärel selle asemele lisame veel
kolm uut elementi:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Koodi täitmise tulemus:
['a', 'b', '1', '2', '3', 'd', 'e']
Näide
Nüüd mitte midagi ei eemalda, kuid
positsioonile 2, lisame kolm uut
elementi:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Koodi täitmise tulemus:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Näide . Negatiivne väärtus
Eemaldame eelviimase elemendi:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Koodi täitmise tulemus:
['a', 'b', 'c', 'e']