Если вы когда-либо сталкивались с JavaScript, вероятно, слышали о методах slice и splice. Но что, если я скажу вам, что они имеют совершенно разные назначения и использование одного вместо другого может привести к непредсказуемым результатам. Вчера я минут 20 не мог понять, почему код правильный, а данные нет 🙂 Подвела авто-коррекция в VS Code.
Slice
Метод slice используется создает новый массив путем копирования части существующего массива. Формат метода выглядит следующим образом:
array.slice(start, end)
Где start - индекс элемента, с которого начинается копирование, а end (необязательный) - индекс элемента, на котором копирование завершается. Если end не указан, slice копирует элементы до конца массива.
Splice
В то время как slice создает новый массив, метод splice изменяет существующий массив, удаляя, заменяя или добавляя элементы в него. Его формат:
array.splice(start, deleteCount, item1, item2, ...)
Где start - индекс, с которого начинается изменение массива, deleteCount - количество удаляемых элементов, а последующие аргументы (необязательные) - элементы, которые добавляются в массив.
Ключевые различия
Основное различие между slice и splice заключается в их поведении:
sliceсоздает новый массив, не изменяя оригинальный.spliceизменяет оригинальный массив, удаляя, заменяя или добавляя элементы.

