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
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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