English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método findIndex() do Array JavaScript

 Objeto Array do JavaScript

findIndex()O método retorna o índice do primeiro elemento que atende ao teste fornecido

findIndex()O método chama a função uma vez para cada elemento do array:

  • Quando os elementos do array retornam true ao testar a condição, findIndex() retorna a posição do índice do elemento que atende aos critérios, e os valores posteriores não serão executados

  • Se não houver elementos que atendam aos critérios, retorna -1

Atenção: O método findIndex() não altera o array original.

Atenção: A função não será executada para arrays vazios.

Sintaxe:

array.findIndex(callback, thisArg)
array.findIndex(function(element, index, arr), thisArg)
var num = [1, 30, 39, 29, 10, 13];
var val = num.findIndex(myFunc);
function myFunc(element) {
retorna element >= 18;
}
Teste e Veja‹/›

Veja tambémfind()Método que retorna o valor do elemento encontrado no array em vez do índice

Compatibilidade do navegador

Os números na tabela especificam a primeira versão do navegador que suporta completamente o método findIndex():

Método
findIndex()452532812

Valor do parâmetro

ParâmetroDescrição
callback
Função executada para cada elemento do array
Parâmetros da função:
  • element(Obrigatório)-Elemento atual que está sendo processado no array

  • index(Opcional)-Índice do elemento atual que está sendo processado no array

  • arr(Opcional)-Opcional. O objeto de array ao qual o elemento atual pertence

thisArgOpcional. O valor passado para a função geralmente é o valor de "this"
Se este parâmetro estiver vazio, "undefined" será passado para o valor de "this"

Detalhes técnicos

Retorno:Se o elemento passar no teste, é o índice no arrayÍndice; caso contrário, é-1
Versão do JavaScript:ECMAScript 6

Mais Exemplos

O seguinte exemplo retorna o índice do elemento no array que é um número primo; se não houver números primos, retorna-1:

var array1 = [1, 15, 17, 24, 29, 10, 13];
function isPrime(element) {
  var start = 2;
  while (start <= Math.sqrt(element)) {
     if (element % start < 1) {
         return false;
     } else {
         start++;
     }
  }
  return element > 1;
}
function myFunc1() {
   document.getElementById("result").innerHTML = array1.findIndex(isPrime);
}
Teste e Veja‹/›

 Objeto Array do JavaScript