[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf [Back]  [Original]

Array : mthodelastIndexOf() - JavaScript | MDN

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 English Always switch to English

Array : mthodelastIndexOf()

Baseline Large disponibilit

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 mthode lastIndexOf() des instances de Array retourne le dernier index auquel un lment donn peut tre trouv dans le tableau, ou -1 s'il n'est pas prsent. Le tableau est parcouru l'envers, en commenant fromIndex.

Dans cet article

Exemple interactif

const animals = ["Dodo", "Tiger", "Penguin", "Dodo"];

console.log(animals.lastIndexOf("Dodo"));
// Rsultat attendu : 3

console.log(animals.lastIndexOf("Tiger"));
// Rsultat attendu : 1

Syntaxe

js
lastIndexOf(searchElement)
lastIndexOf(searchElement, fromIndex)

Paramtres

searchElement

L'lment rechercher dans le tableau.

fromIndex Facultatif

L'index de dpart (bas sur zro) partir duquel commencer la recherche rebours, converti en entier.

  • Un index ngatif compte rebours depuis la fin du tableau si -array.length <= fromIndex < 0, on utilise fromIndex + array.length.
  • Si fromIndex < -array.length, le tableau n'est pas parcouru et -1 est retourn. On peut considrer conceptuellement que la recherche commence une position inexistante avant le dbut du tableau et recule partir de l. Aucun lment n'est rencontr, donc searchElement n'est jamais trouv.
  • Si fromIndex >= array.length ou si fromIndex est omis ou vaut undefined, on utilise array.length - 1, ce qui fait parcourir tout le tableau. On peut considrer conceptuellement que la recherche commence une position inexistante aprs la fin du tableau et recule partir de l. Elle atteint finalement la vraie fin du tableau, puis commence parcourir les lments rels rebours.

Valeur de retour

Le dernier index de l'lment searchElement dans le tableau ; -1 si l'lment n'est pas trouv.

Description

La mthode lastIndexOf() compare l'lment searchElement aux lments du tableau en utilisant l'galit stricte (le mme algorithme que l'oprateur ===). Les valeurs NaN ne sont jamais considres comme gales, donc lastIndexOf() retourne toujours -1 lorsque l'lment recherch est NaN.

La mthode lastIndexOf() ignore les emplacements vides dans un tableau creux.

La mthode lastIndexOf() est gnrique. Elle attend uniquement que la valeur de this possde une proprit length et des proprits cls entires.

Exemples

Utiliser lastIndexOf()

Dans l'exemple suivant, on utilise lastIndexOf() afin de situer une valeur dans un tableau.

js
var tableau = [2, 5, 9, 2];
tableau.lastIndexOf(2); // 3
tableau.lastIndexOf(7); // -1
tableau.lastIndexOf(2, 3); // 3
tableau.lastIndexOf(2, 2); // 0
tableau.lastIndexOf(2, -2); // 0
tableau.lastIndexOf(2, -1); // 3

Vous ne pouvez pas utiliser lastIndexOf() pour rechercher la valeur NaN.

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

Trouver toutes les occurrences d'un lment

L'exemple suivant utilise lastIndexOf pour trouver tous les index (indices) d'un lment dans un tableau donn, en utilisant push() pour les ajouter dans un autre tableau quand ils sont trouvs.

js
var indices = [];
var tableau = ["a", "b", "a", "c", "a", "d"];
var lment = "a";
var idx = tableau.lastIndexOf(lment);
while (idx !== -1) {
  indices.push(idx);
  idx = idx > 0 ? tableau.lastIndexOf(lment, idx - 1) : -1;
}

console.log(indices);
// [4, 2, 0]

Remarquez que nous avons d traiter le cas de idx === 0 sparment (idx > 0) parce que l'lment sera toujours trouv, indpendamment du paramtre de fromIndex, si c'est le premier lment du tableau. C'est une diffrence avec la mthode indexOf().

Utiliser lastIndexOf() sur un tableau creux

Vous ne pouvez pas utiliser lastIndexOf() pour rechercher des emplacements vides dans un tableau creux.

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

Appeler lastIndexOf() sur des objets qui ne sont pas des tableaux

La mthode lastIndexOf() lit la proprit length de this puis accde chaque proprit dont la cl est un entier non ngatif infrieur 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));
// 2
console.log(Array.prototype.lastIndexOf.call(objetSimilaireTableau, 5));
// -1

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.lastindexof

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page