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
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
undefinedfait quelastIndexOf()recherche la chaîne de caractères"undefined", ce qui est rarement ce que vous voulez. positionFacultatif-
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 estInfinity. Sipositionest 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. Sipositionest inférieure à0, le comportement est identique à celui de0— c'est-à-dire que la méthode recherche la sous-chaîne de caractères définie uniquement à l'indice0.-
'bonjour le monde bonjour'.lastIndexOf('monde', 4)retourne-1— car, bien que la sous-chaîne de caractèresmondese trouve à l'indice11, cette position n'est pas inférieure ou égale à4. -
'bonjour le monde bonjour'.lastIndexOf('bonjour', 99)retourne17— car la dernière occurrence debonjourà une position inférieure ou égale à99se trouve à l'indice17. -
'bonjour le monde bonjour'.lastIndexOf('bonjour', 0)et'bonjour le monde bonjour'.lastIndexOf('bonjour', -5)retournent tous deux0— car les deux font en sorte que la méthode ne recherchebonjourqu'à l'indice0.
-
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.
"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 :
"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".
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
- La méthode
String.prototype.charAt() - La méthode
String.prototype.indexOf() - La méthode
String.prototype.split() - La méthode
Array.prototype.indexOf() - La méthode
Array.prototype.lastIndexOf()