Часто в программировании возникает ситуация, когда необходимо удалить элемент из массива, не зная его индекс, но зная его значение. Например, есть массив цветов:
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()
, можно удалить элемент из массива по его значению.
Добавить комментарий