Автор оригинала: Abhilash Kakumanu.
Вступление
Массивы являются одним из наиболее широко используемых структур данных в информатике. При работе со списком элементов (массив) мы часто требуем искать конкретное значение в списке. JavaScript содержит несколько встроенных методов для проверки того, имеет ли массив определенным значением или объектом.
В этой статье мы посмотрим на Как проверить, включает ли массив/содержит значение или элемент в JavaScript Отказ
Проверьте массив примитивных значений включает в себя значение
Array.inCludes () Функция
Самый простой способ проверить на наличие примитивного значения в массиве – использовать включает в себя ()
Метод:
let isInArray = arr.includes(valueToFind[, fromIndex]) // arr - array we're inspecting // valueToFind - value we're looking for // fromIndex - index from which the seach will start (defaults to 0 if left out) // isInArray - boolean value which tells us if arr contains valueToFind
Например, давайте проверим, содержит ли массив животных для собак и кошек Emojis:
let animals = ["🐘", "🐒", "🐶", "🐍"] animals.includes("🐶") // true animals.includes("🐱") // false
Функция возвращает логическое значение, означающее присутствие значения или его отсутствие.
Array.indexof () Функция
В тех случаях, когда нам нужно точное местоположение элемента, которое мы ищем, мы можем использовать indexof (Elem)
Метод, который ищет Элем
В указанном массиве и возвращает индекс своего первого вхождения, а -1
Если массив не содержит Элем
Отказ
Например, мы можем искать первое возникновение класса в массиве, содержащем сортами:
let grades = ["B", "D", "C", "A"] grades.indexOf("A") // 3 grades.indexOf("F") // -1
В первую очередь элемент присутствует, и его положение возвращается. Во втором случае возвращаемая стоимость означает, что элемент отсутствует.
Мы можем использовать это для изменения потока кода:
let grades = ["B", "D", "C", "A"] if (grades.indexOf("F") >= 0) { console.log("Element is present"); } else { console.log("Element is not present"); }
Если мы пройдем в F
Напечатано адекватное сообщение:
Element is not present
Проверка, если на массиве объектов включает объект
Некоторые () функция
При поиске объекта включает в себя ()
Проверяет, соответствует ли приведенное ссылку на объект в массиве. Это редко то, что мы хотим, потому что объекты могут иметь идентичные поля с соответствующими значениями, но разные ссылки.
Мы можем использовать некоторые ()
Метод для поиска содержимого объекта. некоторые ()
Метод принимает один аргумент, принимает обратный вызов, который выполняется один раз для каждого значения в массиве, пока он не найдет элемент, который соответствует условию, установленному набору Обратный вызов
Функция и возвращает правда
Отказ
Давайте посмотрим на некоторые ()
в действии, чтобы понять это лучше:
let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}] let element = {name: "monkey"} animals.some(animal => animal.name === element.name)
Функция обратного вызова возвращает ложь
Для первых двух случаев, но возвращает правда
для третьего элемента, как имен совпадают. После этого некоторые ()
останавливает выполнение и возврат правда
Отказ
Заключение
В этой статье мы прошли несколько способов проверить, содержит ли массив значение или нет, в JavaScript.
Мы накрыли включает в себя ()
Функция, которая возвращает логическое значение, если значение присутствует. indexof ()
Функция возвращает индекс значения, если он присутствует, и -1
Если это не так.
Наконец, для объектов, некоторые ()
Функция помогает нам поиск наличия объекта на основе их содержания.