Удаление элементов из массива используя slice вместо splice
Обычный случай при работе с массивами - это когда вы хотите удалить элементы и сохранить остальную часть массива. Для этого JavaScript предлагает метод splice
, который принимает индекс того, где следует начинать удаление элементов, и количество элементов для удаления. Если второй аргумент не указан, по умолчанию удаляются элементы до конца массива. Однако метод splice
мутирует исходный массив, на котором он вызывается. Вот пример:
var cities = ["Чикаго", "Дели", "Исламабад", "Лондон", "Берлин"];Как мы видели в последней задаче, метод
cities.splice (3, 1); // Возвращает «Лондон» и удаляет его из массива городов
// города теперь [«Чикаго», «Дели», «Исламабад», «Берлин»]
slice
не мутирует исходный массив, а возвращает новый, который можно сохранить в переменной. Напомним, что метод slice
принимает два аргумента - индексы начала и канца среза (конец не включен) и возвращает эти элементы в новом массиве. Использование метода slice
вместо splice
помогает избежать любых побочных эффектов, связанных с массивом.Перепишите функцию nonMutatingSplice
, используя slice
вместо splice
. Он должен ограничивать массив предоставленных cities
длиной до 3 и возвращать новый массив только с первыми тремя элементами. Не мутируйте исходный массив, предоставленный функции.