Método find() da matriz JavaScript

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.prototypeobjeto.

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 thisdentro da callbackfunçã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.
  • indexo índice do elemento atual.
  • arraya matriz que the find()foi chamada.

2)thisArg

The thisArgé o objeto usado como thisdentro do callback.

Valor de retorno

O find()executa a callbackfunção para cada elemento da matriz até callbackretornar 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 namee creditcomo 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *