Вебсправочник
Справочник JavaScript

Array.toSpliced(): вставка и удаление в новой коллекции

Метод toSpliced строит новый массив с удалённым или добавленным фрагментом. Он позволяет описать изменение списка, не меняя исходный массив на месте.

Назначение

Метод toSpliced строит новый массив с удалённым или добавленным фрагментом. Он позволяет описать изменение списка, не меняя исходный массив на месте.

Как это работает

Первый аргумент задаёт начало операции, второй — количество удаляемых элементов, следующие — вставляемые значения. Результатом является вся обновлённая коллекция, а не список удалённых элементов, как у splice.

Пример

const steps=["разметка","черновик","публикация"];
const updated=steps.toSpliced(1,1,"проверка","резервная копия");
console.assert(updated.join("|")==="разметка|проверка|резервная копия|публикация");
console.assert(steps.join("|")==="разметка|черновик|публикация");

Что должно получиться

В новой последовательности вместо «черновик» появляются два этапа. Старый список сохраняет три элемента и исходное содержимое. Индексы относятся к состоянию массива до операции.

Граница применения и частая ошибка

Не путайте отсутствие deleteCount с явным нулём: toSpliced(start) удаляет остаток от start, а toSpliced(start,0,value) выполняет вставку без удаления. Как и другие операции копирования массива, метод сохраняет ссылки на вложенные объекты.

Самостоятельная проверка

Сделайте чистую вставку в начало, затем удаление последнего пункта. Каждый раз проверьте длину результата и неизменность исходной последовательности; проверьте поддержку метода в нужной среде.

Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.