Resumo : neste tutorial, você aprenderá como usar o find()
método JavaScript para procurar o primeiro elemento em um array, que satisfaça um teste.
Introdução ao método Array find()
No ES5, para encontrar um elemento em um array , você usa os métodos indexOf()
ou lastIndexOf()
. No entanto, estes métodos são bastante limitados porque retornam apenas o índice do primeiro elemento correspondente.
ES6 introduziu um novo método chamado find()
adicionado ao Array.prototype
objeto.
O find()
método retorna o primeiro elemento em uma matriz que passa em uma função de teste. O seguinte mostra a sintaxe do find()
método:
find(callback(element[, index[, array]])[, thisArg])
Linguagem de código: CSS ( css )
Argumentos
O find()
aceita dois argumentos: uma função de retorno de chamada e um valor opcional para usar this
dentro da callback
função.
1)callback
A callback
é uma função que executa cada elemento do array. São necessários três argumentos:
element
é o elemento atual.index
o índice do elemento atual.array
a matriz que thefind()
foi chamada.
2)thisArg
The thisArg
é o objeto usado como this
dentro do callback
.
Valor de retorno
O find()
executa a callback
função para cada elemento da matriz até callback
retornar um valor verdadeiro.
Se o retorno de chamada retornar um valor verdadeiro, find()
retornará imediatamente o elemento e interromperá a pesquisa. Caso contrário, ele retorna undefined
.
Se quiser encontrar o índice do elemento encontrado, você pode usar o findIndex()
método.
Exemplos de find() de JavaScript
O exemplo a seguir usa o find()
método para procurar o primeiro número par em uma matriz de números:
let numbers = [1, 2, 3, 4, 5];
console.log(numbers.find(e => e % 2 == 0));
Linguagem de código: JavaScript ( javascript )
Saída:
2
Suponha que temos uma lista de objetos de cliente com propriedades name
e credit
como segue:
let customers = [{
name: 'ABC Inc',
credit: 100
}, {
name: 'ACME Corp',
credit: 200
}, {
name: 'IoT AG',
credit: 300
}];
Linguagem de código: JavaScript ( javascript )
O código a seguir usa o find()
método para localizar o primeiro cliente cujo crédito é superior a 100.
console.log(customers.find(c => c.credit > 100));
Linguagem de código: JavaScript ( javascript )
Saída:
{ name: 'ACME Corp', credit: 200 }
Linguagem de código: CSS ( css )
Resumo
- Use o
find()
método para encontrar o primeiro elemento de uma matriz que satisfaça uma função de teste fornecida.