Ce face Array.prototype.splice
splice pornește de la poziția inceput, șterge cateSterg elemente și pune în locul lor elementele date după aceea. Cu cateSterg egal cu 0 doar inserează.
Tabloul original este modificat. Metoda returnează un tablou cu elementele șterse (gol dacă nu s-a șters nimic). Pentru varianta care nu modifică originalul folosește toSpliced. Nu confunda cu slice, care doar copiază o bucată.
Parametri
| Parametru | Descriere |
|---|---|
inceput |
Poziția de la care se lucrează. Negativ: de la sfârșit. |
cateSterg |
Opțional. Câte elemente se șterg. Fără el, se șterge tot până la sfârșit. |
element1, element2, ... |
Opțional. Elementele inserate în locul celor șterse. |
Ce returnează
Un tablou cu elementele șterse.
Exemple
Exemplul 1: Ștergere, inserare, înlocuire
const zile = ["luni", "marți", "joi", "vineri"];
zile.splice(2, 0, "miercuri");
console.log(zile);
const sterse = zile.splice(-1, 1);
console.log(sterse, zile);
zile.splice(0, 2, "L", "Ma");
console.log(zile);
Rezultat
[ 'luni', 'marți', 'miercuri', 'joi', 'vineri' ]
[ 'vineri' ] [ 'luni', 'marți', 'miercuri', 'joi' ]
[ 'L', 'Ma', 'miercuri', 'joi' ]
Exemplul 2: Ștergerea unui element după id
const sarcini = [{ id: 1, text: "Cumpărături" }, { id: 2, text: "Sală" }, { id: 3, text: "Citit" }];
const poz = sarcini.findIndex((s) => s.id === 2);
if (poz !== -1) sarcini.splice(poz, 1);
console.log(sarcini.map((s) => s.text));
Rezultat
[ 'Cumpărături', 'Citit' ]
Greșeli frecvente
- Ștergi elemente cu
spliceîntr-o buclăforcare merge înainte. După fiecare ștergere, elementele se mută și sari peste unele. Parcurge tabloul de la sfârșit sau foloseștefilter. - Folosești
delete tablou[i]. Elementul devine o „gaură”, iar lungimea rămâne aceeași; foloseștesplice(i, 1).
Comenzi înrudite
slice: Extrage o bucată dintr-un text sau dintr-un tablou, fără să modifice originalul.Array.prototype.toSpliced: Returnează o copie a tabloului cu elemente șterse, înlocuite sau inserate, fără să modifice originalul.Array.prototype.findIndex: Returnează poziția primului element care îndeplinește o condiție sau -1.