Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
06 Июл 2023
2 мин
7249

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

Часто в программировании возникает ситуация, когда необходимо удалить элемент из массива, не зная его индекс, но зная его значение. Например, есть

Часто в программировании возникает ситуация, когда необходимо удалить элемент из массива, не зная его индекс, но зная его значение. Например, есть массив цветов:

let colors = ['red', 'blue', 'green', 'yellow'];

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

И нужно удалить из него цвет ‘green’.

В JavaScript метод splice() позволяет удалить элемент из массива, но он требует знания индекса элемента. Если необходимо удалить элемент по значению, подходящего стандартного метода не существует. Но это можно сделать, например, с помощью комбинации методов indexOf() и splice().

Метод indexOf()

Метод indexOf() возвращает первый индекс, по которому данный элемент может быть найден в массиве, или -1, если такого индекса нет.

let index = colors.indexOf('green');

В этом примере index будет равен 2, так как ‘green’ находится на позиции с индексом 2. Если бы ‘green’ не было в массиве, index был бы равен -1.

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

Метод splice()

Зная индекс, можно применить метод splice(), который изменяет содержимое массива, удаляя существующие элементы и/или добавляя новые.

if (index !== -1) {
  colors.splice(index, 1);
}

В этом примере splice() удаляет один элемент, начиная с позиции index.

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

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий