Как проверить есть ли элемент в массиве js
4 года назад
Человек-Молекула
Ответы
Для этого в JS существует метод includes()
, который работает на массивах. Метод includes()
принимает два аргумента, один из которых обязательный. Это искомый элемент. После выполнения метод возвращает true
или false
в зависимости от того, есть элемент в массиве или нет. Ниже я привёл пример использования данного метода:
4 года назад
Roman Ashikov
Для поиска элемента в массиве можно использовать метод indexOf()
, если элемент не найден, он возвращает -1
, если найден — индекс элемента:
3 года назад
Aleksandr Litvinov
Для того, чтобы проверить, есть ли элемент в массиве, могут помочь не только стандартные методы, о которых писали выше. К примеру, есть библиотека Lodash, в которой присутствуют методы для поиска элементов в массиве.
Метод _.indexOf()
Этот метод устроен достаточно хитро, его можно использовать в двух вариантах:
- Первый вариант использования:
Как видно из примера выше, метод нашёл тот элемент, который встретился первым. Но, что делать, если в данном массиве есть и другие элементы, которые равны искомому?
Здесь начинается самое интересное. Данный метод может найти элемент, который равен искомому, но после определенного индекса.
- Второй вариант использования:
Если вдруг вам нужно выполнить поиск элемента массива не слева направо, а наоборот, в библиотеке Lodash найдётся и такой метод.
Он работает ровно зеркально методу _.indexOf().
Метод _.lastIndexOf()
- Первый вариант использования:
В переменную findIndex вернулся индекс совпадающего значения, но не от начала массива, а от его конца.
- Второй вариант использования:
В переменную findIndex вернулся индекс совпадающего значения, после второго индекса (но опять же не от начала массива, а от его конца).
Документация:
3 года назад
Виктория Аблаева
Похожие вопросы