los findIndex() método devuelve el índice del primer elemento en el array que satisface la función de prueba proporcionada. De lo contrario, vuelve -1, lo que indica que ningún elemento pasó la prueba.

Ver también el find() método, que devuelve el valor de un array elemento, en lugar de su índice.

Sintaxis

// Arrow functionfindIndex((element)=>...)findIndex((element, index)=>...)findIndex((element, index, array)=>...)// Callback functionfindIndex(callbackFn)findIndex(callbackFn, thisArg)// Inline callback functionfindIndex(functioncallbackFn(element)...)findIndex(functioncallbackFn(element, index)...)findIndex(functioncallbackFn(element, index, array)...)findIndex(functioncallbackFn(element, index, array)..., thisArg)

Parámetros

callbackFn

Una función para ejecutar en cada valor en el array hasta que la función regrese true, lo que indica que se encontró el elemento satisfactorio.

Se necesitan tres argumentos:

element
El elemento actual que se está procesando en el array.
indexOpcional
El índice del elemento actual que se está procesando en el array.
arrayOpcional
los array findIndex() fue llamado.
thisArgOpcional
Objeto opcional para usar como this al ejecutar callbackFn.

Valor devuelto

El índice del primer elemento de la array que pasa la prueba. De lo contrario, -1.

Nota: si el índice del primer elemento en el array que pasa la prueba es 0, el valor de retorno de findIndex será interpretado como Falsedad en declaraciones condicionales.

Descripción

los findIndex() El método ejecuta el callbackFn funcionar una vez para cada índice en el array hasta que encuentre aquel donde callbackFn devuelve un veraz valor.

Si se encuentra tal elemento, findIndex() devuelve inmediatamente el índice del elemento. Si callbackFn nunca devuelve un valor veraz (o el array’s length es 0), findIndex() devoluciones -1.

Nota: a diferencia de otros array métodos como Array.some(), callbackFn se ejecuta incluso para índices con valores no asignados.

callbackFn se invoca con tres argumentos:

  1. El valor del elemento
  2. El índice del elemento
  3. El objeto Array que se atraviesa

Si un thisArg el parámetro se pasa a findIndex(), se utilizará como this dentro de cada invocación del callbackFn. Si no se proporciona, entonces undefined se utiliza.

La gama de elementos procesados ​​por findIndex() se establece antes de la primera invocación de callbackFn. callbackFn no procesará los elementos adjuntos a la array después de la llamada a findIndex() comienza. Si un elemento existente, no visitado de la array es cambiado por callbackFn, su valor pasa al callbackFn será el valor en ese momento findIndex() visita el índice del elemento.

Elementos que son deleted todavía se visitan.

Ejemplos de

Encuentra el índice de un número primo en un array

El siguiente ejemplo devuelve el índice del primer elemento de la array que es un número primo, o -1 si no hay un número primo.

functionisPrime(num)for(let i =2; num > i; i++)if(num % i ==0)returnfalse;return num >1;

console.log([4,6,8,9,12].findIndex(isPrime));// -1, not found
console.log([4,6,7,9,12].findIndex(isPrime));// 2 (array[2] is 7)

Encontrar índice usando la función de flecha

El siguiente ejemplo encuentra el índice de una fruta usando una función de flecha:

const fruits =["apple","banana","cantaloupe","blueberries","grapefruit"];const index = fruits.findIndex(fruit=> fruit ==="blueberries");

console.log(index);// 3
console.log(fruits[index]);// blueberries

Especificaciones

Especificación
Especificación del lenguaje ECMAScript (ECMAScript)
#segundo-array.prototype.findindex

Compatibilidad del navegador

Escritorio Móvil
Cromo Borde Firefox explorador de Internet Ópera Safari WebView Android Chrome Android Firefox para Android Opera Android Safari en IOS Internet de Samsung
findIndex 45 12 25 No 32 8 45 45 4 32 8 5,0

Ver también

  • Array.prototype.find()
  • Array.prototype.indexOf()