Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
TypedArray.prototype.findIndex()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
La méthodefindIndex() renvoie unindice 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éthodefind() qui renvoie lavaleur de l'élément trouvé (au lieu de son indice).
Dans cet article
Exemple interactif
function isNegative(element, index, array) { return element < 0;}const int8 = new Int8Array([10, -20, 30, -40, 50]);console.log(int8.findIndex(isNegative));// Expected output: 1Syntaxe
typedarray.findIndex(callback[, thisArg])Paramètres
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éthodefindIndex exécute la fonctioncallback une fois pour chacun des éléments présent dans le tableau typé jusqu'à ce quecallback 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ètrethisArg a été fourni àfindIndex, celui-ci sera utilisé en tant quethis pour chaque appel decallback. Dans le cas contraire, la valeurundefined sera utilisée.
findIndex ne modifie pas le tableau typé sur lequel elle a été appelée.
La liste des éléments traités parfindIndex est définie avant le premier appel àcallback. Les éléments qui sont ajoutés au tableau typés après quefindIndex ait débuté ne sont pas traités parcallback. 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
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)); // 2Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-%typedarray%.prototype.findindex> |