Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
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éthode findLast() des instances de Array parcourt le tableau en ordre inverse et retourne la valeur du premier élément qui satisfait la fonction de test fournie. Si aucun élément ne satisfait la fonction de test, undefined est retourné.
Si vous souhaitez :
La fonction à exécuter pour chaque élément du tableau. Elle doit renvoyer une valeur équivalente à true pour indiquer qu'un élément correspondant a été trouvé, et une valeur équivalente à false sinon. La fonction est appelée avec les arguments suivants :
elementLa valeur de l'élément courant du tableau en cours de traitement.
indexL'indice de l'élément courant du tableau en cours de traitement.
arrayLe tableau sur lequel la méthode findLast() a été appelée.
thisArg FacultatifLa valeur à utiliser comme this lors de l'exécution de callbackFn. Voir les méthodes itératives.
Le dernier élément du tableau (celui avec l'indice le plus élevé) qui satisfait la fonction de test fournie ; undefined si aucun élément correspondant n'est trouvé.
La méthode findLast() est une méthode itérative. Elle appelle la fonction fournie callbackFn une fois pour chaque élément d'un tableau dans l'ordre décroissant des indices, jusqu'à ce que callbackFn retourne une valeur vrai. findLast() retourne alors cet élément et arrête l'itération du tableau. Si callbackFn ne retourne jamais de valeur vrai, findLast() retourne undefined. Lisez la section méthodes itératives pour plus d'informations sur le fonctionnement général de ces méthodes.
callbackFn est appelée pour chaque indice du tableau, pas seulement ceux ayant une valeur affectée. Les emplacements vides des tableaux creux se comportent comme undefined.
La méthode findLast() est générique. Elle attend uniquement que la valeur this possède une propriété length et des propriétés à clés entières.
Dans cet exemple, on illustre comment créer un test manipulant les propriétés des éléments du tableau.
L'exemple précédent peut être écrit à l'aide d'une fonction fléchée et une décomposition d'objet :
Dans l'exemple suivant, on trouve le dernier élément du tableau qui est un nombre premier (ou on renvoie undefined si le tableau ne contient pas de nombre premier) :
Note : L'implémentation de estPremier() est uniquement à des fins de démonstration. Pour une application réelle, il est préférable d'utiliser un algorithme fortement mémoïsé comme le crible d'Ératosthène afin d'éviter les calculs répétés.
Cet exemple illustre un cas d'utilisation pratique de findLast() lorsqu'on travaille avec des données ordonnées par le temps. Il trouve la tâche la plus récemment terminée dans une liste déjà triée par timestamp.
Ceci est plus efficace que d'utiliser find() avec un tableau inversé, car cela évite de créer un nouveau tableau.
L'argument array est utile si vous souhaitez accéder à un autre élément du tableau, en particulier lorsque vous n'avez pas de variable existante qui fait référence au tableau. L'exemple suivant utilise d'abord filter() pour extraire les valeurs positives puis utilise findLast() pour trouver le dernier élément qui est inférieur à ses voisins.
Les emplacements vides d'un tableau sont parcourus. Ils sont traités comme s'ils avaient la valeur undefined.
La méthode findLast() lit la propriété length de this puis parcourt les propriétés dont les clés sont des nombres entiers.
| ECMAScript® 2027 Language Specification # sec-array.prototype.findlast |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 27 mars 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.