В этом руководстве вы узнаете, как использовать метод JavaScript String lastIndexOf() для поиска последнего вхождения подстроки в строке.
String.prototype.lastIndexOf() возвращает последнее вхождение подстроки( substr ) в строку( str ).
str.lastIndexOf(substr, [, fromIndex]);
Он возвращает -1, если str не содержит substr.
Метод lastIndexOf() ищет подстроку в обратном направлении от fromIndex. fromIndex является необязательным и по умолчанию равен +Infinity. Это означает, что если вы опустите fromIndex, поиск начнется с конца строки.
- Если
fromIndexбольше или равенstr.length,lastIndexOf()будет искатьsubstrво всей строке. - Если
fromIndexменьше нуля, поведение поиска такое же, как если быfromIndexбыл равен нулю.
lastIndexOf() всегда выполняет поиск с учетом регистра.
Чтобы найти индекс первого вхождения подстроки в строку, вы используете метод last indexOf().
Примеры
Давайте рассмотрим несколько примеров использования метода.

1) Использование метода
В этом примере используется метод lastIndexOf() для поиска последнего вхождения подстроки ‘a’ в строке ‘JavaScript’ :
let str = 'JavaScript';
let index = str.lastIndexOf('a');
console.log(index);Выход:
3
Если вы передадите аргумент fromIndex в строку, метод lastIndexOf() начнет поиск в обратном направлении от fromIndex, как показано в следующем примере:
let str = 'JavaScript';
let index = str.lastIndexOf('a',2);
console.log(index);Выход:
1
2) lastIndexOf() и чувствительность к регистру
lastIndexOf() чувствителен к регистру. Следующий пример возвращает -1:
let str = 'Hello, World!'; let substr = 'L'; let index = str.lastIndexOf(substr); console.log(index); // -1
Чтобы выполнить нечувствительный к регистру поиск индекса последнего вхождения подстроки в строке, вы можете преобразовать и подстроку, и строку в нижний регистр перед применением метода lastIndexOf() следующим образом:
let str = 'Hello, World!'; let substr = 'L'; let index = str.toLocaleLowerCase().lastIndexOf(substr.toLocaleLowerCase()); console.log(index); // -1
Заключение
- Функция
lastIndexOf()возвращает индекс последнего вхождения подстроки в строку или -1, если строка не содержит подстроки. Она ищет подстроку в обратном направлении от конца строки или отfromIndex, если этот аргумент доступен. lastIndexOf()в JavaScript выполняет поиск с учетом регистра.
