La méthode findIndex() renvoie un indice d'un élément d'un tableau typé si cet élément remplit une condition définie par une fonction de test donnée. S'il n'y a aucun élément satisfaisant, -1 sera renvoyé.

Voir aussi la méthode find() qui renvoie la valeur de l'élément trouvé (au lieu de son indice).

Syntaxe

typedarray.findIndex(callback[, thisArg])

Paramètres

callback
La fonction à exécuter pour chaque valeur du tableau typé. Elle prend trois arguments :
élément
L'élément du tableau typé en cours de traitement.
index
L'indice de l'élément du tableau typé en cours de traitement.
array
Le tableau typé sur lequel la méthode findIndex a été appelée.
thisArg
Paramètre optionnel, l'objet à utiliser en tant que this pour les appels à callback.

Valeur de retour

Un indice du tableau pour lequel l'élément remplit la condition décrite par la fonction, -1 sinon.

Description

La méthode findIndex exécute la fonction callback une fois pour chacun des éléments présent dans le tableau typé jusqu'à ce que callback renvoie une valeur vraie pour un élément. Si un tel élément est trouvé, findIndex retournera immédiatement l'indice de cet élément. Sinon, findIndex renverra -1. callback est appelé uniquement pour les éléments du tableau qui possèdent une valeur, les éléments qui ont été supprimés ou qui n'ont pas de valeur ne sont pas traités.

callback est appelé avec trois arguments : la valeur de l'élément, son indice et le tableau typé qui est parcouru.

Si un paramètre thisArg a été fourni à findIndex, celui-ci sera utilisé en tant que this pour chaque appel de callback. Dans le cas contraire, la valeur undefined sera utilisée.

findIndex ne modifie pas le tableau typé sur lequel elle a été appelée.

La liste des éléments traités par findIndex est définie avant le premier appel à callback. Les éléments qui sont ajoutés au tableau typés après que findIndex ait débuté ne sont pas traités par callback. Si un élément est modifié par un appel à callback précédent, la valeur passée à callback lors du traitement sera celle au moment où findIndex traite l'indice de l'élément. Les éléments qui sont supprimés ne sont pas pris en compte.

Exemples

Trouver l'indice d'un nombre premier

Dans l'exemple suivant, on utilise la méthode pour trouver l'indice d'un nombre premier dans le tableau typé (ou -1 dans le cas où il n'y a pas de nombre premier) :

function estPremier(élément, index, array) {
  var début = 2;
  while (début <= Math.sqrt(élément)) {
    if (élément % début++ < 1) {
      return false;
    }
  }
  return élément > 1;
}

var uint8 = new Uint8Array([4, 6, 8, 12]);
var uint16 = new Uint16Array([4, 6, 7, 12]);

console.log(uint8.findIndex(estPremier)); // -1, non trouvé
console.log(uint16.findIndex(estPremier)); // 2

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de '%TypedArray%.prototype.findIndex' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de '%TypedArray%.prototype.findIndex' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet OuiEdge Support complet 14Firefox Support complet 37IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile ? Firefox Android Support complet 37Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Support complet 4.0.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,