Автор оригинала: Sarah Chima Atuonwu.
В JavaScript есть разные методы, которые вы можете использовать для поиска элемента в массиве. Какой метод вы выберете, зависит от вашего конкретного случая использования.
Например, хотите ли вы получить все предметы в массиве, который соответствует определенному условию? Хотите проверить, соответствует ли какой-либо товар в условиях? Хотите проверить, находится ли конкретное значение в массиве? Или вы хотите найти индекс значения в массиве?
Для всех этих случаев использования методы Array_Prototype вы охватывали. В этой статье мы обсудим четыре метода, которые мы можем использовать для поиска элемента в массиве. Эти методы:
- Фильтр
- Находить
- Включает в себя
- Индекс
Давайте обсудим каждый из них.
Array.filter ()
Мы можем использовать метод Array.Filter () для поиска элементов в массиве, который соответствует определенному условию. Например, если мы хотим получить все элементы в массиве чисел, которые больше 10, мы можем сделать это:
const array = [10, 11, 3, 20, 5]; const greaterThanTen = array.filter(element => element > 10); console.log(greaterThanTen) //[11, 20]
Синтаксис для использования метода Array.Filter () заключается в следующем:
let newArray = array.filter(callback);
куда
NewArrayэто новый массив это возвращеномассивэто массив, на котором называется метод фильтраОбратный вызовЯвляется ли функция обратного вызова, которая применяется к каждому элементу массива
Если элемент в массиве не соответствует условию, возвращается пустой массив. Вы можете прочитать больше о Этот метод здесь Отказ
Есть времена, когда нам не нужны все элементы, которые соответствуют определенному условию. Нам просто нужен один элемент, который соответствует условию. В этом случае вам нужен метод find ().
Array.find ()
Мы используем метод Array.find (), чтобы найти первый элемент, который соответствует определенному условию. Как и метод фильтра, требуется обратный вызов в качестве аргумента и возвращает первый элемент, который соответствует условию обратного вызова.
Давайте используем метод поиска на массиве в нашем примере выше.
const array = [10, 11, 3, 20, 5]; const greaterThanTen = array.find(element => element > 10); console.log(greaterThanTen)//11
Синтаксис для Array.find ()
let element = array.find(callback);
Обратный вызов – это функция, выполняемая на каждом значении в массиве и принимает три аргумента:
элемент– Элемент, который требуется (обязательно)индекс– индекс/положение текущего элемента (необязательно)массив– массив, которыйНайтибыл вызван (необязательно)
Примечание, хотя, если в массиве не соответствует условию, он возвращает undefined Отказ
Что если, хотя, вы хотите проверить, находится ли определенный элемент в массиве? Как ты делаешь это?
Array.includes ()
Метод включения () определяет, включает ли массив определенного значения и возвращает True или False в зависимости от ситуации.
Таким образом, в приведенном выше примере, если мы хотим проверить, является ли 20 элементами в массиве, мы можем сделать это:
const array = [10, 11, 3, 20, 5]; const includesTwenty = array.includes(20); console.log(includesTwenty)//true
Вы заметите разницу между этим методом и другими методами, которые мы рассмотрели. Этот метод принимает значение, а не обратный вызов, как аргумент. Вот синтаксис для включения метода:
const includesValue = array.includes(valueToFind, fromIndex)
Где
ValueTofindэто значение, на которое вы проверяете в массиве (обязательно), а такжеFrientexexЯвляется ли индекс или положение в массиве, который вы хотите начать поиск элемента из (необязательно)
Чтобы получить концепцию индекса, давайте снова посетим наш пример. Если мы хотим проверить, содержит ли массив 10 в других позициях, кроме первого элемента, мы можем сделать это:
const array = [10, 11, 3, 20, 5]; const includesTenTwice = array.includes(10, 1); console.log(includesTenTwice)//false
Array.indexof ()
Метод indexOf () возвращает первый индекс, при котором данный элемент можно найти в массиве. Он возвращает -1, если элемент не существует в массиве.
Давайте вернемся к нашему примеру. Давайте найдем индекс 3 в массиве.
const array = [10, 11, 3, 20, 5]; const indexOfThree = array.indexOf(3); console.log(indexOfThree)//2
Его синтаксис похож на то, что из включает в себя метод.
const indexOfElement = array.indexOf(element, fromIndex)
Где
элементэто элемент, который вы проверяете в массиве (обязательно), а такжеFrientexexЯвляется ли индекс или положение в массиве, который вы хотите начать поиск элемента из (необязательно)
Важно отметить, что оба включает в себя и Индекс Методы используют строгое равенство (4 ‘и 4), они вернут ложь и -1 соответственно.
Резюме
С помощью этих методов массива вам не нужно использовать цикл для поиска массива. В зависимости от того, что вам нужно, вы можете решить, какой из методов лучше всего подходит для вашего случая использования.
Вот краткое изложение, когда использовать каждый метод:
- Использовать
фильтрЕсли вы хотите найти все элементы в массиве, который соответствует определенному условию. - Использовать
найтиЕсли вы хотите проверить, соответствует ли этому минимум один элемент, соответствует определенному условию. - Использовать
включает в себяЕсли вы хотите проверить, содержит ли массив определенного значения. - Использовать
индексЕсли вы хотите найти индекс определенного элемента в массиве.
Хотите получить уведомление, когда я публикую новую статью? кликните сюда .
Оригинал: “https://www.freecodecamp.org/news/4-methods-to-search-an-array/”