[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:
- Filtro
- Encontrar
- Inclui
- Í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 retornadaarray
– a matriz na qual o método de filtro é chamadocallback
– 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órioindex
– o índice / posição do elemento atual – opcionalarray
– a matriz quefind
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