Що робить splice()?
Він може видаляти, додавати та замінювати елементи прямо у вихідному масиві.
Синтаксис
javascript
array.splice(start, deleteCount, item1, item2, ...);| Параметр | Що робить |
|---|---|
start | Індекс, з якого починаємо зміни |
deleteCount | Скільки елементів видалити |
item1, item2, ... | Елементи, які потрібно вставити на місце видалених (необов'язково) |
1. Видалення елементів
javascript
const arr = ["a", "b", "c", "d"];
const removed = arr.splice(1, 2);
console.log(arr); // ["a", "d"]
console.log(removed); // ["b", "c"]- З позиції
1видалити2елементи. - Повертає масив видалених елементів.
- Вихідний масив змінюється.
2. Додавання елементів
javascript
const arr = ["a", "d"];
arr.splice(1, 0, "b", "c");
console.log(arr); // ["a", "b", "c", "d"]deleteCount = 0- значить, нічого не видаляємо.- Додаємо
"b"та"c"на позицію1. - Все, що було після, зсувається вправо.
3. Заміна елементів
javascript
const arr = ["a", "b", "c"];
arr.splice(1, 1, "x", "y");
console.log(arr); // ["a", "x", "y", "c"]- Починаючи з індексу
1, видалити1елемент ("b") - і вставити
"x","y"замість нього. - Можна вважати це видаленням + вставкою одночасно.
4. Використання від'ємних індексів
javascript
const arr = [1, 2, 3, 4];
arr.splice(-2, 1); // видалити один елемент, починаючи з кінця
console.log(arr); // [1, 2, 4]-2 означає «другий елемент з кінця».
5. Якщо видалити більше, ніж є
javascript
const arr = [1, 2];
arr.splice(1, 10);
console.log(arr); // [1]Метод не видає помилку - просто видалить все, що є, починаючи з позиції 1.
Коротко:
| Що робить | Приклад | Результат |
|---|---|---|
| Видаляє | arr.splice(1, 2) | Видаляє 2 елементи з індексу 1 |
| Додає | arr.splice(2, 0, "x") | Вставляє "x" на позицію 2 |
| Замінює | arr.splice(1, 1, "x") | Змінює 1 елемент на "x" |
| Повертає | ["видалені елементи"] | масив видалених значень |
| Мутує вихідний масив | Так |
Приклад "все одразу"
javascript
const arr = [1, 2, 3, 4, 5];
// видалити 2 елементи з індексу 1 і вставити нові
const removed = arr.splice(1, 2, "a", "b", "c");
console.log(arr); // [1, "a", "b", "c", 4, 5]
console.log(removed); // [2, 3]Підсумок:
splice()- це універсальний "швейцарський ніж" для масивів: він видаляє, додає та замінює елементи прямо у вихідному масиві і повертає масив видалених значень.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.