Metoda splice
Metoda splice șterge sau adaugă
elemente într-un array. Puteți doar să ștergeți elemente,
doar să adăugați sau să faceți ambele
simultan. Metoda este foarte versatilă și
complexă pentru înțelegere.
Metoda modifică array-ul în sine și returnează
array-ul elementelor șterse.
Primul parametru al metodei este numărul elementului
array-ului care trebuie șters. Al doilea parametru
- câte elemente ale array-ului trebuie șterse.
Dacă îl setați la 0 - atunci elementele nu vor fi
șterse (vor fi doar adăugate elemente noi).
Apoi, separate prin virgulă, urmează elementele care
trebuie adăugate în array (sunt parametri opționali).
Aceste elemente vor fi adăugate în locul
elementelor șterse din array.
Dacă nu a avut loc nicio ștergere (când al doilea parametru
este 0) - elementele vor fi inserate în array începând
de la poziția specificată de primul parametru
al metodei. Primul parametru poate avea o valoare
negativă. În acest caz, numărarea poziției va începe
nu de la începutul array-ului, ci de la sfârșit. Ultimul element
va avea numărul -1.
Sintaxă
array.splice(de unde ștergem, câte ștergem, [inserăm], [inserăm]...);
Exemplu
Să ștergem trei elemente, începând cu primul:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Rezultatul executării codului:
['a', 'e']
Exemplu
Să afișăm array-ul elementelor șterse:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Rezultatul executării codului:
['b', 'c', 'd']
Exemplu
Mai întâi, să ștergem elementul cu numărul
2, apoi în locul lui să inserăm încă
trei elemente noi:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Rezultatul executării codului:
['a', 'b', '1', '2', '3', 'd', 'e']
Exemplu
Acum să nu ștergem nimic, dar
pe poziția 2, să inserăm încă trei
elemente noi:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Rezultatul executării codului:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Exemplu . Valoare negativă
Să ștergem penultimul element:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Rezultatul executării codului:
['a', 'b', 'c', 'e']