Метод lastIndexOf() в JavaScript

В этом руководстве вы узнаете, как использовать метод 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().

Примеры

Давайте рассмотрим несколько примеров использования метода.

Пример метода JavaScript Array lastIndexOf

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 выполняет поиск с учетом регистра.
Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript