Вопрос проверяет знание методов массива для удаления элементов из середины, что важно для эффективной работы с данными в JavaScript.
В JavaScript для удаления элемента из середины массива существует несколько методов, каждый из которых имеет свои особенности и области применения. Основные из них: splice(), filter() и оператор delete.
Метод splice() является наиболее прямым способом удаления элемента по индексу. Он изменяет исходный массив, удаляя указанное количество элементов, начиная с заданной позиции. Например, splice(index, 1) удаляет один элемент по индексу index. Этот метод возвращает массив удаленных элементов.
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // удаляем элемент с индексом 2 (значение 3)
console.log(arr); // [1, 2, 4, 5]Метод filter() создает новый массив, содержащий все элементы, которые удовлетворяют условию. Он не изменяет исходный массив, что может быть полезно для иммутабельности данных. Для удаления элемента нужно отфильтровать массив, исключив элемент с определенным значением или индексом.
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter((item, index) => index !== 2);
console.log(newArr); // [1, 2, 4, 5]
console.log(arr); // [1, 2, 3, 4, 5] (исходный не изменился)Оператор delete удаляет свойство объекта, но для массива он оставляет пустую ячейку (hole), что может привести к неожиданным результатам при итерации. Использовать delete для массивов не рекомендуется.
let arr = [1, 2, 3, 4, 5];
delete arr[2];
console.log(arr); // [1, 2, empty, 4, 5]
console.log(arr.length); // 5 (длина не изменилась)Для удаления элемента из середины массива используйте splice(), если нужно изменить исходный массив, или filter(), если требуется иммутабельность. Избегайте оператора delete, так как он нарушает целостность массива.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию