Spec-Zone.ru › JavaScript

String.prototype.lastIndexOf()

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Метод lastIndexOf() значений String ищет в этой строке и возвращает индекс последнего вхождения указанной подстроки. Он принимает необязательную начальную позицию и возвращает последнее вхождение указанной подстроки по индексу, меньшему или равному указанному числу.

Попробовать

const paragraph = "I think Ruth's dog is cuter than your dog!";

const searchTerm = "dog";

console.log(
  `Index of the last "${searchTerm}" is ${paragraph.lastIndexOf(searchTerm)}`,
);
// Expected output: "Index of the last "dog" is 38"

Синтаксис

lastIndexOf(searchString)
lastIndexOf(searchString, position)

Параметры

searchString
Подстрока для поиска. Все значения приводятся к строкам, поэтому пропуск этого аргумента или передача undefined заставляет lastIndexOf() искать строку "undefined", что редко является желаемым результатом.
position Необязательный
Метод возвращает индекс последнего вхождения указанной подстроки в позиции, меньшей или равной position, которое по умолчанию равно Infinity. Если position больше длины вызывающей строки, метод ищет по всей строке. Если position меньше 0, поведение такое же, как и для 0 — то есть метод ищет указанную подстроку только по индексу 0.
  • 'hello world hello'.lastIndexOf('world', 4) возвращает -1 — потому что, хотя подстрока world встречается по индексу 6, эта позиция не меньше или равна 4.

  • 'hello world hello'.lastIndexOf('hello', 99) возвращает 12 — потому что последнее вхождение hello в позиции, меньшей или равной 99, находится в позиции 12.

  • 'hello world hello'.lastIndexOf('hello', 0) и 'hello world hello'.lastIndexOf('hello', -5) оба возвращают 0 — потому что оба заставляют метод искать hello только по индексу 0.

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

Индекс последнего найденного вхождения searchString, или -1, если не найдено.

Описание

Строки имеют нумерацию с нуля: индекс первого символа строки — 0, а индекс последнего символа — длина строки минус 1.

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

Чувствительность к регистру

Метод lastIndexOf() чувствителен к регистру. Например, следующее выражение возвращает -1:

"Blue Whale, Killer Whale".lastIndexOf("blue"); // returns -1

Примеры

Использование indexOf() и lastIndexOf()

Следующий пример использует indexOf() и lastIndexOf() для поиска значений в строке "Brave, Brave New World".

const anyString = "Brave, Brave New World";

console.log(anyString.indexOf("Brave")); // 0
console.log(anyString.lastIndexOf("Brave")); // 7

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-string.prototype.lastindexof

Совместимость с браузерами

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
lastIndexOf
1
12
1
3
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

Смотрите также

  • String.prototype.charAt()
  • String.prototype.indexOf()
  • String.prototype.split()
  • Array.prototype.indexOf()
  • Array.prototype.lastIndexOf()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API