Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. Array
  6. findLastIndex()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

Array : méthode findLastIndex()

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 ⁨août 2022⁩.

La méthodefindLastIndex() des instances deArray parcourt le tableau dans l'ordre inverse et retourne l'indice du premier élément qui satisfait la fonction de test fournie.Si aucun élément ne satisfait la fonction de test,-1 est retourné.

Voir aussi la méthodefindLast(), qui retourne la valeur du dernier élément qui satisfait la fonction de test (plutôt que son indice).

Exemple interactif

const array = [5, 12, 50, 130, 44];const isLargeNumber = (element) => element > 45;console.log(array.findLastIndex(isLargeNumber));// Résultat attendu: 3// Indice de l'élément dont la valeur est: 130

Syntaxe

js
findLastIndex(callbackFn)findLastIndex(callbackFn, thisArg)

Paramètres

callbackFn

Une fonction à exécuter pour chaque élément du tableau. Elle doit retourner unéquivalent à vrai pour indiquer qu'un élément correspondant a été trouvé, et unéquivalent à faux sinon. La fonction est appelée avec les arguments suivants :

element

L'élément courant en cours de traitement dans le tableau.

index

L'indice de l'élément courant en cours de traitement dans le tableau.

array

Le tableau sur lequelfindLastIndex() a été appelé.

thisArgFacultatif

Une valeur à utiliser commethis lors de l'exécution decallbackFn. Voirméthodes itératives.

Valeur de retour

Retourne l'indice du dernier élément (ayant l'indice le plus élevé) du tableau qui satisfait le test fourni. Sinon, retourne-1 si aucun élément correspondant n'est trouvé.

Description

La méthodefindLastIndex() est une méthode itérative. Elle appelle la fonction fourniecallbackFn une fois pour chaque élément du tableau, dans l'ordre décroissant des indices, jusqu'à ce quecallbackFn retourne unéquivalent à vrai.findLastIndex() retourne alors l'indice de cet élément et cesse d'itérer sur le tableau. SicallbackFn ne retourne jamais unéquivalent à vrai,findLastIndex() retourne-1. Consultez la sectionméthodes itératives pour plus d'informations sur le fonctionnement général de ces méthodes.

callbackFn est invoquée pourchaque indice du tableau, pas seulement pour ceux qui ont une valeur assignée. Les emplacements vides dans lestableaux creux se comportent commeundefined.

La méthodefindLastIndex() estgénérique. Elle attend seulement que la valeurthis possède une propriétélength et des propriétés indexées par des clés entières.

Exemples

Trouver l'indice du dernier nombre premier dans le tableau

Dans l'exemple qui suit, on trouve l'indice du dernier élément du tableau qui est un nombre premier (ou on renvoie-1 si le tableau ne contient pas de nombre premier) :

js
function estPremier(element) {  if (element % 2 === 0 || element < 2) {    return false;  }  for (let diviseur = 3; diviseur <= Math.sqrt(element); diviseur += 2) {    if (element % diviseur === 0) {      return false;    }  }  return true;}console.log([4, 6, 8, 12].findLastIndex(estPremier)); // -1, aucun nombre trouvéconsole.log([4, 5, 7, 8, 9, 11, 12].findLastIndex(estPremier)); // 5

Note :L'implémentation deestPremier() est fournie à titre d'exemple seulement. Pour une application réelle, préférez un algorithme fortement mémoïsé tel que leCrible d'Ératosthène afin d'éviter des calculs répétés.

Utiliser le troisième argument decallbackFn

L'argumentarray est utile si vous voulez accéder à un autre élément du tableau, en particulier lorsque vous ne disposez pas d'une variable qui référence déjà ce tableau. L'exemple suivant utilise d'abordfilter() pour extraire les valeurs positives, puisfindLastIndex() pour trouver le dernier élément qui est inférieur à ses voisins.

js
const nombres = [3, -1, 1, 4, 1, 5, 9, 2, 6];const dernierCreux = nombres  .filter((num) => num > 0)  .findLastIndex((num, idx, arr) => {    // Sans l'argument arr, il est impossible d'accéder facilement au    // tableau intermédiaire sans le sauvegarder dans une variable.    if (idx > 0 && num >= arr[idx - 1]) return false;    if (idx < arr.length - 1 && num >= arr[idx + 1]) return false;    return true;  });console.log(dernierCreux); // 6

UtiliserfindLastIndex() sur des tableaux creux

En cherchantundefined dans un tableau creux, on peut obtenir l'indice d'un emplacement vide.

js
console.log([1, , 3].findLastIndex((x) => x === undefined)); // 1

UtiliserfindLastIndex() sur des objets qui ne sont pas des tableaux

La méthodefindLastIndex() lit la propriétélength dethis puis parcourt les propriétés dont les clés sont des nombres entiers.

js
const semblableTableau = {  length: 3,  0: 2,  1: 7.3,  2: 4,  3: 3, // ignored by findLastIndex() since length is 3};console.log(  Array.prototype.findLastIndex.call(semblableTableau, (x) =>    Number.isInteger(x),  ),); // 2

Spécifications

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

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp