Удаление элементов массива JavaScript по позиции

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для удаления элемента из массива в JavaScript используется метод splice(index, 1):

JS
Скопировать код
let array = [1, 2, 3, 4, 5];
array.splice(2, 1);  // Попрощаемся с третьим элементом (3)
console.log(array);  // Получим: [1, 2, 4, 5]  Элемент исчез!

Если вы хотите удалить элемент, но сохранить исходный массив без изменений, применяйте slice() совместно с оператором распространения:

JS
Скопировать код
let newArray = [...array.slice(0, 2), ...array.slice(3)];
console.log(newArray);  // Получим: [1, 2, 4, 5]  Волшебство!
Кинга Идем в IT: пошаговый план для смены профессии

Инструментарий: Альтернативные методы и производительность

Наш спаситель — метод shift()

Если требуется удалить лишь первый элемент массива, метод shift() придет на помощь:

JS
Скопировать код
let firstElement = array.shift();  // Удаляем первый элемент!
console.log(array);  // Результат: [2, 3, 4, 5]
console.log(firstElement);  // Результат: 1  Возвращаем его!

Помните, что shift() изменяет исходный массив и возвращает удаленный элемент.

Бережем исходник: волшебство метода slice()

Чтобы исходный массив остался неизменным, создайте копию массива с помощью метода slice():

JS
Скопировать код
let withoutFirst = array.slice(1);
console.log(withoutFirst);  // Результат: [2, 3, 4, 5] Где первый элемент?
console.log(array);  // Вот он, исходный массив остался неизменным.

С помощью метода slice() ваш исходный массив будет сохранен.

Работаем с крупными массивами: производительность превыше всего

Когда речь идёт о работе с большими массивами, важно учесть производительность. Применение методов splice() или shift() может замедлить вашу программу из-за процесса реиндексации. В таком случае стоит обратиться к методу filter() или просто использовать slice():

JS
Скопировать код
let newArray = array.filter(item => item !== "Огромный");  // Удаляем "Огромный" элемент, не трогая исходный массив

Визуализация

Вот наглядная аналогия для удаления элемента из массива в JS:

Markdown
Скопировать код
Представьте массив в виде поезда (🚂) и вагонов (🚃):

До: [🚂, 🚃📦, 🚃📦, 🚃❌, 🚃📦]

Вы решили избавиться от вагона с ❌.
javascript array.splice(indexOfCarriageWithCross, 1);
И вот что получилось:

После: [🚂, 🚃📦, 🚃📦, 🚃📦]
Всё просто!

Всё так просто, словно в сказке – элемент исчез!

Мощные инструменты: Выберите подходящий метод

Условное удаление: на помощь приходит filter

Если перед вами стоит задача удалить элементы, отвечающие определенному условию, то filter() – именно то, что вам нужно:

JS
Скопировать код
let filteredArray = array.filter(item => item !== "Не сегодня, пожалуйста");
// Удалим фразу "Не сегодня, пожалуйста"!
console.log(filteredArray);  // Результат: массив без указанного знач

Метод filter() отлично подходит для удаления элементов по условию.

Многозадачность: работает splice

Если требуется удалить не один, а несколько элементов, то вам поможет splice():

JS
Скопировать код
array.splice(startIndex, deleteCount); // Если нужно удалить группу элементов!

Метод splice() предлагает множество возможностей, включая удаление нескольких элементов одновременно.

Больше, чем просто удаление: полный набор операций с массивами

Работа с массивами не сводится только к удалению элементов. Вы ещё можете объединять массивы с помощью concat(), сортировать их, искать и перебирать элементы. Знание всех этих методов поможет вам более эффективно управлять массивами.

Полезные материалы

  1. Array.prototype.splice() – JavaScript | MDN — Подробный гайд по методу splice() и его возможностям для изменения массивов.
  2. Array.prototype.filter() – JavaScript | MDN — Все, что нужно знать о фильтрации элементов массива по условию.
  3. Array.prototype.slice() – JavaScript | MDN — Как создать новый массив с помощью метода slice().
  4. javascript – What is the in-place alternative to Array.prototype.filter() – Stack Overflow — Основные альтернативы методу filter() для изменения массива на месте.
  5. How do I empty an array in JavaScript? – Stack Overflow — Как очистить массив и эффективно удалять элементы.
  6. Array methods — Быстрый обзор основных методов массивов в JS и способов удаления элементов.
  7. Understanding Arrays in JavaScript | DigitalOcean — Глубокое изучение массивов с ES6 и методы Array.from() и Array.of().