Array.prototype.splice
Удаляет, заменяет или вставляет элементы в середину массива.
Доступно с: ES3
Синтаксис
array.splice(start, deleteCount, item1, /* … */)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| start | number | Позиция, с которой начинается изменение. Отрицательная отсчитывается от конца. |
| deleteCount | number | Необязательный. Сколько элементов удалить. По умолчанию — все до конца. |
| item1, … | any | Необязательные. Элементы, которые вставляются на место удалённых. |
Возвращаемое значение
ArrayМассив удалённых элементов.
Примеры
Удалить один элемент по индексу:
const letters = ['a', 'b', 'c', 'd'];
letters.splice(1, 1);
console.log(letters);Результат:
[
"a",
"c",
"d"
]Вставить без удаления — deleteCount равен 0:
const letters = ['a', 'd'];
letters.splice(1, 0, 'b', 'c');
console.log(letters.join(''));Результат:
abcdЗаменить и получить удалённое:
const letters = ['a', 'b', 'c'];
const removed = letters.splice(1, 2, 'X');
console.log(removed.join(''), letters.join(''));Результат:
bc aXПримечания
Не путайте со slice(): splice() меняет исходный массив, а slice() — нет. Версия без изменения исходного массива — toSpliced().
См. также
- Array.prototype.slice — Возвращает часть массива.
- Array.prototype.toSpliced — Возвращает копию массива с удалёнными, заменёнными или вставленными элементами.
Вопросы и ответы по теме
В учебнике
- Методы массивов — Как добавлять и удалять элементы массива в JavaScript: push, pop, shift, unshift, slice, splice, concat и join.