логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

Как работает метод lastIndexOf() - JavaScript

Автор

Виталий Котов

Метод lastIndexOf() возвращает последний индекс появления данной подстроки в строке.

// объявление строки
var str = "Programming";

var substr = "g";

// поиск последнего вхождения "g" в строке
var result = str.lastIndexOf(substr);

console.log(result);

// Вывод в консоль: 10

Синтаксис lastIndexOf()

Синтаксис метода lastIndexOf() следующий:

str.lastIndexOf(searchValue, fromIndex);

Где str - это строка.

Параметры lastIndexOf()

Метод lastIndexOf() принимает:

  • substr
    • значение для поиска в заданной строке.
  • fromIndex (необязательно) - индекс, с которого начинается поиск строки в обратном направлении. По умолчанию он равен +Infinity.

Примечания:

  • Если fromIndex >= string.length, то поиск выполняется во всей строке.
  • Если fromIndex < 0, то считается, что он равен 0.

Возвращаемое значение lastIndexOf()

Метод lastIndexOf() возвращает:

  • последний индекс значения в строке, если он присутствует хотя бы один раз.
  • fromIndex, если строка не указана явно.

Примечание: метод возвращает -1, если подстрока не найдена в заданной строке.

Примеры

Пример 1: Использование метода lastIndexOf()

// объявление строки
var str = "Programming";

var substr = "m";

// поиск последнего вхождения «m» в str
var result = str.lastIndexOf(substr);

console.log(result);

Вывод в консоль:

7

В приведенном выше примере мы определили строку с именем str. Переменная substr содержит "m", которая является подстрокой данной строки.

Метод lastIndexOf() определяет индекс последнего вхождения substr. Поскольку индексация строки начинается с 0, str.lastIndexOf(substr) возвращает значение 7.

Пример 2: lastIndexOf() с двумя параметрами

// объявление строки
var str = "Programming";

// объявление подстроки «substr», которая содержит символ «g»
var substr = "g";

var fromIndex = 6;

// передача второго параметра fromIndex в lastIndexOf()
var result = str.lastIndexOf(substr, fromIndex);

console.log(result);

Вывод в консоль:

3

В приведенном выше примере мы передали fromIndex в качестве второго параметра. Таким образом, метод lastIndexOf() выполняет поиск подстроки в обратном направлении от fromIndex.

str.lastIndexOf(substr,fromIndex) ищет "g" в обратном направлении от индекса fromIndex и находит последнее вхождение "g", которое находится в индексе 3.

Пример 3: Когда подстрока не найдена

var str = "I love JavaScript";

// передача подстроки, которой нет в данной строке
var result = str.lastIndexOf("Python");

console.log(result);

Вывод в консоль:

-1

Здесь мы передали "Python" в качестве substr. Поскольку "Python" не встречается в строке "I love JavaScript", метод возвращает -1.

Пример 4: lastIndexOf() для поиска с учетом регистра

Метод lastIndexOf() чувствителен к регистру. Например:

var str = "I love JavaScript";

//  lastIndexOf() с "JavaScript" в качестве substr
var result1 = str.lastIndexOf("JavaScript");

console.log(result1);

//  lastIndexOf() с "javaScript" в качестве substr
var result2 = str.lastIndexOf("javaScript");

console.log(result2);

Вывод в консоль:

7
-1

Здесь метод lastIndexOf() чувствителен к регистру, поэтому он рассматривает "JavaScript" и "javaScript" как две разные substr.

Метод возвращает значение индекса 7 для "JavaScript" и -1 для "javaScript".

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile