Как удалить элемент из массива
Короткий ответ
Метод filter() создаёт новый массив без ненужного значения:
const colors = ['red', 'green', 'blue'];
console.log(colors.filter((color) => color !== 'green').join(', '));Результат:
red, blueПо индексу
splice() вырезает элементы из самого массива: первый аргумент — индекс, второй — сколько элементов удалить.
const colors = ['red', 'green', 'blue'];
colors.splice(1, 1);
console.log(colors.join(', '));Результат:
red, blueПервый или последний элемент
shift() убирает первый элемент, pop() — последний:
const numbers = [1, 2, 3, 4];
numbers.shift();
numbers.pop();
console.log(numbers.join(', '));Результат:
2, 3По значению, первое вхождение
Найдите индекс через indexOf() и удалите один элемент через splice():
const items = ['a', 'b', 'a', 'c'];
const index = items.indexOf('a');
if (index !== -1) items.splice(index, 1);
console.log(items.join(', '));Результат:
b, a, cЧастая ошибка
Оператор delete не удаляет элемент из массива: он оставляет пустое место, и длина не меняется:
const colors = ['red', 'green', 'blue'];
delete colors[1];
console.log(colors.length, colors[1]);Результат:
3 undefinedФункции из этого ответа
- Array.prototype.filter — Создаёт новый массив из элементов, прошедших проверку.
- Array.prototype.splice — Удаляет, заменяет или вставляет элементы в середину массива.
- Array.prototype.indexOf — Ищет значение в массиве и возвращает его индекс.