[ad_1]

Existem métodos diferentes em JavaScript que você pode usar para procurar um item em uma matriz. O uso desses métodos depende do seu caso de uso específico. Por exemplo, você deseja obter todos os itens em uma matriz que atendam a uma condição específica? Deseja verificar se algum item atende à condição? Deseja verificar se um valor específico está na matriz? Ou você deseja encontrar o índice do valor na matriz?

Para todos esses casos de uso, os métodos JavaScript Array.prototype protegem você. Neste artigo, discutiremos quatro métodos que podemos usar para procurar um item em uma matriz. Esses métodos são:

  1. Filtro
  2. Encontrar
  3. Inclui
  4. Índice de

Vamos discutir cada um deles.

Array.filter ()

Podemos usar o método Array.filter () para encontrar elementos em uma matriz que corresponda a atenda a uma determinada condição. Por exemplo, se queremos obter todos os itens em uma matriz de números maior que 10, podemos fazer isso.

const array = [10, 11, 3, 20, 5];const greaterThanTen = array.filter(element => element > 10);console.log(greaterThanTen) //[11, 20]

A sintaxe para usar o método array.filter () é

let newArray = array.filter(callback);

Onde

  • newArray – a nova matriz retornada
  • array – a matriz na qual o método de filtro é chamado
  • callback – a função de retorno de chamada aplicada a cada elemento da matriz

Se nenhum item da matriz atender à condição, uma matriz vazia será retornada. Você pode ler mais sobre esse método aqui.

Há momentos em que não precisamos de todos os elementos que atendem a uma determinada condição. Só precisamos de um elemento que corresponda à condição. Nesse caso, você precisa do método find ().

Array.find ()

Usamos o método Array.find () para encontrar o primeiro elemento que atenda a uma determinada condição. Assim como o método de filtro, ele recebe um retorno de chamada como argumento e retorna o primeiro elemento que atende à condição de retorno de chamada.

Vamos usar o método find na matriz em nosso exemplo acima.

const array = [10, 11, 3, 20, 5];const greaterThanTen = array.find(element => element > 10);console.log(greaterThanTen)//11

A sintaxe para o array.find () é

let element = array.find(callback);

O retorno de chamada é a função que é executada em cada valor da matriz recebe três argumentos:

  • element – o elemento que está sendo iterado – obrigatório
  • index – o índice / posição do elemento atual – opcional
  • array – a matriz que find foi chamado – opcional

Observe que, se nenhum item da matriz atender à condição, ele retornará undefined.

E se você quiser verificar se um determinado elemento está em uma matriz? Como você faz isso?

Array.includes ()

O método includes () determina se uma matriz inclui um determinado valor e retorna verdadeiro ou falso, conforme apropriado.

Portanto, no exemplo acima, se quisermos verificar se 20 é um dos elementos da matriz, podemos fazer isso:

const array = [10, 11, 3, 20, 5];const includesTwenty = array.includes(20);console.log(includesTwentyThree)//true

Você notará uma diferença entre este método e outros métodos que consideramos. Este método aceita um valor em vez de um retorno de chamada como argumento. Aqui está a sintaxe para o método includes.

const includesValue = array.includes(valueToFind, fromIndex)

Onde – valueToFind – o valor que você está verificando na matriz – obrigatório – fromIndex – o índice ou posição na matriz da qual você deseja iniciar a pesquisa do elemento. – opcional

Para entender o conceito do índice, vamos usar nosso exemplo novamente. Se quisermos verificar se o array contém 10 em outras posições, além do primeiro elemento, podemos fazer o seguinte:

const array = [10, 11, 3, 20, 5];const includesTenTwice = array.includes(10, 1);console.log(includesTenTwice)//false

Array.indexOf ()

O método indexOf () retorna o primeiro índice no qual um determinado elemento pode ser encontrado em uma matriz. Retorna -1 se o elemento não existir na matriz.

Vamos voltar ao nosso exemplo. Vamos encontrar o índice de 3 na matriz.

const array = [10, 11, 3, 20, 5];const indexOfThree = array.indexOf(3);console.log(indexOfThree)//2

Sua sintaxe é semelhante à do includes método.

const indexOfElement = array.indexOf(element, fromIndex)

Onde – element – o elemento que você está procurando na matriz – obrigatório – fromIndex – o índice ou posição na matriz da qual você deseja iniciar a pesquisa do elemento. – opcional

É importante notar que tanto o includes e indexOf Os métodos usam igualdade estrita (‘===’) para pesquisar a matriz. Se os valores forem de tipos diferentes, por exemplo, ‘4’ e 4, eles retornarão false e -1 respectivamente.

Resumo

Com esses métodos de matriz, você não precisa usar um loop for para pesquisar uma matriz. Dependendo do que você precisa, você pode decidir qual dos métodos é mais adequado para o seu caso de uso. Aqui está um resumo de quando usar cada método.

  • Usar filter se você deseja encontrar todos os itens em uma matriz que atendem a uma condição específica.
  • Usar find se você quiser verificar se pelo menos um item atende a uma condição específica.
  • Usar includes se você deseja verificar se uma matriz contém um valor específico.
  • Usar indexOf se você deseja encontrar o índice de um item específico em uma matriz.

Deseja ser notificado quando eu publicar um novo artigo? Clique aqui.

[ad_2]

Fonte