Resumo : neste tutorial, você aprenderá como usar o método Array findIndex()
para encontrar o primeiro elemento que satisfaça um determinado teste.
Introdução ao método JavaScript Array findIndex()
ES6 adicionou um novo método chamado findIndex()
ao Array.prototype
, que permite encontrar o primeiro elemento em um array que satisfaça uma função de teste fornecida.
O findIndex()
método retorna o índice do elemento que satisfaz uma função de teste ou -1 se nenhum elemento passou no teste.
O seguinte ilustra a sintaxe do findIndex()
método:
findIndex(testFn(element[, index[, array]])[, thisArg])
Linguagem de código: CSS ( css )
O findIndex()
leva dois argumentos:
1)testFn
A testFn
é uma função a ser executada em cada elemento do array até que a função retorne true
, indicando que o elemento foi encontrado.
O testFn
leva três argumentos:
element
é o elemento atual na matriz.index
é o índice do elemento atual que está sendo processado.array
é o array que thefindIndex()
foi chamado.
2)thisArg
O thisArg
é um objeto opcional a ser usado this
ao executar o callback
. Se você omitir o thisArg
argumento, a findIndex()
função usará undefined
.
O findIndex()
executa testFn
em cada elemento da matriz até encontrar aquele em que testFn
retorna um valor verdadeiro, que é um valor que força a true
.
Depois de findIndex()
encontrar tal elemento, ele retorna imediatamente o índice do elemento.
Exemplos de array JavaScript findIndex()
Vejamos alguns exemplos de uso do findIndex()
método JavaScript Array.
1) Usando o método Array findIndex() com um exemplo de array simples
O exemplo a seguir retorna o índice da primeira ocorrência do número 7 na ranks
matriz:
let ranks = [1, 5, 7, 8, 10, 7];
let index = ranks.findIndex(rank => rank === 7);
console.log(index);
Linguagem de código: JavaScript ( javascript )
Saída:
2
2) Usando o método Array findIndex() com uma condição mais complexa
Este exemplo usa o findIndex()
método para obter o índice da primeira ocorrência do número 7 após o índice 2 na ranks
matriz:
let ranks = [1, 5, 7, 8, 10, 7];
let index = ranks.findIndex(
(rank, index) => rank === 7 && index > 2
);
console.log(index);
Linguagem de código: JavaScript ( javascript )
Saída:
5
3) Usando o método Array findIndex() com um array de objetos
O exemplo a seguir usa o findIndex()
método Array para encontrar o índice do primeiro produto cujo preço é maior que 1000:
const products = [
{ name: 'Phone', price: 999 },
{ name: 'Computer', price: 1999 },
{ name: 'Tablet', price: 995 },
];
const index = products.findIndex(product => product.price > 1000);
console.log(index); // 1
Linguagem de código: JavaScript ( javascript )
Resumo
- Use o método JavaScript Array
findIndex()
para encontrar o primeiro elemento que satisfaça um determinado teste.