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

String : méthode lastIndexOf()

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 méthode lastIndexOf() des valeurs String recherche dans cette chaîne de caractères et retourne l'indice de la dernière occurrence de la sous-chaîne de caractères définie. Elle prend une position de départ optionnelle et retourne la dernière occurrence de la sous-chaîne de caractères définie à un indice inférieur ou égal au nombre défini.

Exemple interactif

const paragraph = "Je pense que le chien de Ruth est plus mignon que le tien !";

const searchTerm = "chien";

console.log(
  `L'indice de la dernière occurrence de « ${searchTerm} » est ${paragraph.lastIndexOf(searchTerm)}`,
);
// Résultat attendu : "L'indice de la dernière occurrence de « chien » est 16"

Syntaxe

js
lastIndexOf(searchString)
lastIndexOf(searchString, position)

Paramètres

searchString

La sous-chaîne de caractères à rechercher. Toutes les valeurs sont converties en chaînes de caractères, donc l'omission de ce paramètre ou le passage de undefined fait que lastIndexOf() recherche la chaîne de caractères "undefined", ce qui est rarement ce que vous voulez.

position Facultatif

La méthode retourne l'indice de la dernière occurrence de la sous-chaîne de caractères définie à une position inférieure ou égale à position, dont la valeur par défaut est Infinity. Si position est supérieure à la longueur de la chaîne de caractères appelante, la méthode effectue une recherche sur l'intégralité de la chaîne de caractères. Si position est inférieure à 0, le comportement est identique à celui de 0 — c'est-à-dire que la méthode recherche la sous-chaîne de caractères définie uniquement à l'indice 0.

  • 'bonjour le monde bonjour'.lastIndexOf('monde', 4) retourne -1 — car, bien que la sous-chaîne de caractères monde se trouve à l'indice 11, cette position n'est pas inférieure ou égale à 4.

  • 'bonjour le monde bonjour'.lastIndexOf('bonjour', 99) retourne 17 — car la dernière occurrence de bonjour à une position inférieure ou égale à 99 se trouve à l'indice 17.

  • 'bonjour le monde bonjour'.lastIndexOf('bonjour', 0) et 'bonjour le monde bonjour'.lastIndexOf('bonjour', -5) retournent tous deux 0 — car les deux font en sorte que la méthode ne recherche bonjour qu'à l'indice 0.

Valeur de retour

L'indice de la dernière occurrence trouvée de searchString, ou -1 si rien n'a été trouvé.

Description

Les chaînes de caractères sont indexées à partir de zéro : l'indice du premier caractère d'une chaîne de caractères est 0, et l'indice du dernier caractère est la longueur de la chaîne de caractères moins 1.

js
"canal".lastIndexOf("a"); // retourne 3
"canal".lastIndexOf("a", 2); // retourne 1
"canal".lastIndexOf("a", 0); // retourne -1
"canal".lastIndexOf("x"); // retourne -1
"canal".lastIndexOf("c", -5); // retourne 0
"canal".lastIndexOf("c", 0); // retourne 0
"canal".lastIndexOf(""); // retourne 5
"canal".lastIndexOf("", 2); // retourne 2

Sensibilité à la casse

La méthode lastIndexOf() est sensible à la casse. Par exemple, l'expression suivante retourne -1 :

js
"Baleine Bleue, Baleine Tueuse".lastIndexOf("bleue"); // retourne -1

Exemples

Utiliser indexOf() et lastIndexOf()

L'exemple suivant utilise indexOf() et lastIndexOf() pour situer certaines valeurs dans la chaîne de caractères "Un, Un Nouveau Monde".

js
const touteChaineCaracteres = "Un, Un Nouveau Monde";

console.log(touteChaineCaracteres.indexOf("Un")); // 0
console.log(touteChaineCaracteres.lastIndexOf("Un")); // 4

Spécifications

Spécification
ECMAScript® 2027 Language Specification
# sec-string.prototype.lastindexof

Compatibilité des navigateurs

Voir aussi