Рубрики
Без рубрики

Четыре разные способы поиска массива в JavaScript

В JavaScript есть разные методы, которые вы можете использовать для поиска элемента в массиве. Какой метод вы выберете, зависит от вашего конкретного случая использования. Например, хотите ли вы получить все предметы в массиве, который соответствует определенному условию? Вы хотите проверить

Автор оригинала: Sarah Chima Atuonwu.

В JavaScript есть разные методы, которые вы можете использовать для поиска элемента в массиве. Какой метод вы выберете, зависит от вашего конкретного случая использования.

Например, хотите ли вы получить все предметы в массиве, который соответствует определенному условию? Хотите проверить, соответствует ли какой-либо товар в условиях? Хотите проверить, находится ли конкретное значение в массиве? Или вы хотите найти индекс значения в массиве?

Для всех этих случаев использования методы Array_Prototype вы охватывали. В этой статье мы обсудим четыре метода, которые мы можем использовать для поиска элемента в массиве. Эти методы:

  1. Фильтр
  2. Находить
  3. Включает в себя
  4. Индекс

Давайте обсудим каждый из них.

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/”