Метод splice
Методът splice изтрива или добавя
елементи в масив. Можете само да изтривате елементи,
само да добавяте или да правите и двете
едновременно. Методът е много универсален и
сложен за разбиране.
Методът променя самия масив и връща при
това масив от изтрити елементи.
Първият параметър методът приема номера на елемента
в масива, който трябва да бъде изтрит. Вторият параметър
- колко елемента от масива трябва да бъдат изтрити.
Ако го поставите на 0 - то елементи няма да бъдат изтрити
(само ще бъдат добавени нови).
Нататък чрез запетая се подават елементи, които
трябва да се добавят към масива (са незадължителни
параметри). Тези елементи ще бъдат добавени на мястото
на изтритите елементи от масива.
Ако не е имало изтриване (когато вторият параметър е
0) - елементите ще бъдат вмъкнати в масива започвайки
от позицията, която е указана с първия параметър
на метода. Първият параметър може да има отрицателна
стойност. В този случай отброяването на позицията ще започне
не от началото на масива, а от края. Последният елемент
при това ще има номер -1.
Синтаксис
масив.splice(откъде изтриваме, колко изтриваме, [вмъкни], [вмъкни]...);
Пример
Нека изтрием три елемента, започвайки от първия:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(1, 3);
console.log(arr);
Резултат от изпълнението на кода:
['a', 'e']
Пример
Нека изведем масива от изтрити елементи:
let arr = ['a', 'b', 'c', 'd', 'e'];
let del = arr.splice(1, 3);
console.log(del);
Резултат от изпълнението на кода:
['b', 'c', 'd']
Пример
Нека първо изтрием елемента с номер
2, а после на негово място вмъкнем още
три нови елемента:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1, '1', '2', '3');
console.log(arr);
Резултат от изпълнението на кода:
['a', 'b', '1', '2', '3', 'd', 'e']
Пример
Нека сега нищо да не изтриваме, но
на позиция 2, да вмъкнем още три нови
елемента:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 0, '1', '2', '3');
console.log(arr);
Резултат от изпълнението на кода:
['a', 'b', '1', '2', '3', 'c', 'd', 'e']
Пример . Отрицателна стойност
Нека изтрием предпоследния елемент:
let arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(-2, 1);
console.log(arr);
Резултат от изпълнението на кода:
['a', 'b', 'c', 'e']