Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Array : méthodelastIndexOf()
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 juillet 2015.
La méthodelastIndexOf() des instances deArray retourne le dernier index auquel un élément donné peut être trouvé dans le tableau, ou -1 s'il n'est pas présent. Le tableau est parcouru à l'envers, en commençant àfromIndex.
Dans cet article
Exemple interactif
const animals = ["Dodo", "Tiger", "Penguin", "Dodo"];console.log(animals.lastIndexOf("Dodo"));// Résultat attendu : 3console.log(animals.lastIndexOf("Tiger"));// Résultat attendu : 1Syntaxe
lastIndexOf(searchElement)lastIndexOf(searchElement, fromIndex)Paramètres
searchElementL'élément à rechercher dans le tableau.
fromIndexFacultatifL'index de départ (basé sur zéro) à partir duquel commencer la recherche à rebours,converti en entier.
- Un index négatif compte à rebours depuis la fin du tableau — si
-array.length <= fromIndex < 0, on utilisefromIndex + array.length. - Si
fromIndex < -array.length, le tableau n'est pas parcouru et-1est retourné. On peut considérer conceptuellement que la recherche commence à une position inexistante avant le début du tableau et recule à partir de là. Aucun élément n'est rencontré, doncsearchElementn'est jamais trouvé. - Si
fromIndex >= array.lengthou sifromIndexest omis ou vautundefined, on utilisearray.length - 1, ce qui fait parcourir tout le tableau. On peut considérer conceptuellement que la recherche commence à une position inexistante après la fin du tableau et recule à partir de là. Elle atteint finalement la vraie fin du tableau, puis commence à parcourir les éléments réels à rebours.
- Un index négatif compte à rebours depuis la fin du tableau — si
Valeur de retour
Le dernier index de l'élémentsearchElement dans le tableau ;-1 si l'élément n'est pas trouvé.
Description
La méthodelastIndexOf() compare l'élémentsearchElement aux éléments du tableau en utilisantl'égalité stricte (le même algorithme que l'opérateur===). Les valeursNaN ne sont jamais considérées comme égales, donclastIndexOf() retourne toujours-1 lorsque l'élément recherché estNaN.
La méthodelastIndexOf() ignore les emplacements vides dansun tableau creux.
La méthodelastIndexOf() estgénérique. Elle attend uniquement que la valeur dethis possède une propriétélength et des propriétés à clés entières.
Exemples
>UtiliserlastIndexOf()
Dans l'exemple suivant, on utiliselastIndexOf() afin de situer une valeur dans un tableau.
var tableau = [2, 5, 9, 2];tableau.lastIndexOf(2); // 3tableau.lastIndexOf(7); // -1tableau.lastIndexOf(2, 3); // 3tableau.lastIndexOf(2, 2); // 0tableau.lastIndexOf(2, -2); // 0tableau.lastIndexOf(2, -1); // 3Vous ne pouvez pas utiliserlastIndexOf() pour rechercher la valeurNaN.
const tableau = [NaN];tableau.lastIndexOf(NaN); // -1Trouver toutes les occurrences d'un élément
L'exemple suivant utiliselastIndexOf pour trouver tous les index (indices) d'un élément dans un tableau donné, en utilisantpush() pour les ajouter dans un autre tableau quand ils sont trouvés.
var indices = [];var tableau = ["a", "b", "a", "c", "a", "d"];var élément = "a";var idx = tableau.lastIndexOf(élément);while (idx !== -1) { indices.push(idx); idx = idx > 0 ? tableau.lastIndexOf(élément, idx - 1) : -1;}console.log(indices);// [4, 2, 0]Remarquez que nous avons dû traiter le cas deidx === 0 séparément (idx > 0) parce que l'élément sera toujours trouvé, indépendamment du paramètre defromIndex, si c'est le premier élément du tableau. C'est une différence avec la méthodeindexOf().
UtiliserlastIndexOf() sur un tableau creux
Vous ne pouvez pas utiliserlastIndexOf() pour rechercher des emplacements vides dans un tableau creux.
console.log([1, , 3].lastIndexOf(undefined)); // -1AppelerlastIndexOf() sur des objets qui ne sont pas des tableaux
La méthodelastIndexOf() lit la propriétélength dethis puis accède à chaque propriété dont la clé est un entier non négatif inférieur àlength.
const objetSimilaireTableau = { length: 3, 0: 2, 1: 3, 2: 2, 3: 5, // ignoré par lastIndexOf() car length vaut 3};console.log(Array.prototype.lastIndexOf.call(objetSimilaireTableau, 2));// 2console.log(Array.prototype.lastIndexOf.call(objetSimilaireTableau, 5));// -1Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.lastindexof> |
Compatibilité des navigateurs
Voir aussi
- Guide des collections indexées
- L'objet global
Array - La méthode
Array.prototype.findIndex() - La méthode
Array.prototype.findLastIndex() - La méthode
Array.prototype.indexOf() - La méthode
TypedArray.prototype.lastIndexOf() - La méthode
String.prototype.lastIndexOf() - Prothèse d'émulation de
Array.prototype.lastIndexOfdans core-js(angl.) - Prothèse d'émulation es-shims de
Array.prototype.lastIndexOf(angl.)