Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как удалить элемент из массива

Короткий ответ

Метод 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 — Ищет значение в массиве и возвращает его индекс.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.