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

javascriptmassiiv.splice(kust eemaldame, mitu eemaldame, [lisada], [lisada]...);

Näide

Eemaldame kolm elementi, alates esimesest:

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

console.log(arr);

Koodi täitmise tulemus:

javascript['a', 'e']

Näide

Väljastame eemaldatud elementide massiivi:

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

console.log(del);

Koodi täitmise tulemus:

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

Näide

Kõigepealt eemaldame elemendi numbriga 2, seejärel selle asemele lisame veel kolm uut elementi:

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

console.log(arr);

Koodi täitmise tulemus:

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

Näide

Nüüd mitte midagi ei eemalda, kuid positsioonile 2, lisame kolm uut elementi:

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

console.log(arr);

Koodi täitmise tulemus:

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

Näide . Negatiivne väärtus

Eemaldame eelviimase elemendi:

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

console.log(arr);

Koodi täitmise tulemus:

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

Vaata ka

  • meetod slice,
    mis samuti lõikab massiivist osi välja
  • meetod shift,
    mis eemaldab massiivi esimese elemendi
  • meetod pop,
    mis eemaldab massiivi viimase elemendi