Movatterモバイル変換


[0]ホーム

URL:


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

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é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.

Exemple interactif

const animals = ["Dodo", "Tiger", "Penguin", "Dodo"];console.log(animals.lastIndexOf("Dodo"));// Résultat attendu : 3console.log(animals.lastIndexOf("Tiger"));// Résultat attendu : 1

Syntaxe

js
lastIndexOf(searchElement)lastIndexOf(searchElement, fromIndex)

Paramètres

searchElement

L'élément à rechercher dans le tableau.

fromIndexFacultatif

L'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.
  • SifromIndex < -array.length, le tableau n'est pas parcouru et-1 est 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é, doncsearchElement n'est jamais trouvé.
  • SifromIndex >= array.length ou sifromIndex est 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.

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.

js
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); // 3

Vous ne pouvez pas utiliserlastIndexOf() pour rechercher la valeurNaN.

js
const tableau = [NaN];tableau.lastIndexOf(NaN); // -1

Trouver 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.

js
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.

js
console.log([1, , 3].lastIndexOf(undefined)); // -1

AppelerlastIndexOf() 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.

js
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));// -1

Spécifications

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

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