Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. Array
  6. Array.prototype.findIndex()

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

Array.prototype.findIndex()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨setembro de 2015⁩.

O métodofindIndex() retorna oíndice no array do primeiro elemento que satisfizer a função de teste provida. Caso contrário, retorna -1, indicando que nenhum elemento passou no teste.

Veja também o métodofind(), que retorna ovalor de um elemento encontrado no array em vez de seu índice.

Sintaxe

arr.findIndex(callback[, thisArg])

Parâmetros

callback

Função para executar em cada valor no array, tomando três argumentos:

element

O elemento atual sendo processado no array.

index

O índice do elemento atual sendo processado no array.

array

O array sobre o qualfindIndex foi chamado.

thisArg

Opcional. Objeto para usar comothis na execução docallback.

Descrição

O métodofindIndex executa a funçãocallback uma vez para cada elemento presente no array até encontrar um onde ocallback retorna um valor verdadeiro. Se tal elemento for encontrado,findIndex imediatamente retorna o índice deste elemento. Caso contrário,findIndex retorna -1.callback é invocado apenas para índices no array que têm valores atribuídos; nunca é invocado para índices que foram deletados ou que nunca tiveram valores atribuídos.

callback é invocado com três argumentos: o valor do elemento, o índice do elemento e o objeto Array sendo percorrido.

Se um parâmetrothisArg for fornecido parafindIndex, ele será usado como othis para cada invocação docallback. Se não for fornecido, entãoundefined é usado.

findIndex não modifica o array sobre o qual é chamado.

A série de elementos processados porfindIndex é definida antes da primeira invocação docallback. Elementos que são adicionados ao array depois que a chamada afindIndex começa não serão visitados pelocallback. Se um elemento existente não visitado do array for modificado pelocallback, seu valor passado aocallback será o valor no momento em quefindIndex visitar o índice deste elemento; elementos que forem deletados não são visitados.

Exemplos

Encontrar o índice de um número primo em um array

O seguinte exemplo encontra o índice de um elemento no array que é um número primo (ou retorna -1 se não houver número primo).

js
function isPrime(element, index, array) {  var start = 2;  while (start <= Math.sqrt(element)) {    if (element % start++ < 1) {      return false;    }  }  return element > 1;}console.log([4, 6, 8, 12].findIndex(isPrime)); // -1, não encontradoconsole.log([4, 6, 7, 12].findIndex(isPrime)); // 2

Polyfill

Esse método foi adicionado à especificação do ECMAScript 6 e pode não estar disponível em todas as implementações de JavaScript ainda. Contudo, você pode fazer o polyfill deArray.prototype.findIndex com o seguinte trecho de código:

js
if (!Array.prototype.findIndex) {  Array.prototype.findIndex = function (predicate) {    if (this === null) {      throw new TypeError(        "Array.prototype.findIndex called on null or undefined",      );    }    if (typeof predicate !== "function") {      throw new TypeError("predicate must be a function");    }    var list = Object(this);    var length = list.length >>> 0;    var thisArg = arguments[1];    var value;    for (var i = 0; i < length; i++) {      value = list[i];      if (predicate.call(thisArg, value, i, list)) {        return i;      }    }    return -1;  };}

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.findindex

Compatibilidade com navegadores

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp