String.prototype.lastIndexOf()
Метод значень String
lastIndexOf()
(останній індекс елемента) шукає в поточному рядку та повертає індекс останнього входження заданого підрядка. Він приймає необов'язкову початкову позицію і повертає останнє входження заданого підрядка за індексом, меншим або рівним заданому числу.
Спробуйте його в дії
Синтаксис
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
"канал".lastIndexOf("а"); // повертає 3
"канал".lastIndexOf("а", 2); // повертає 1
"канал".lastIndexOf("а", 0); // повертає -1
"канал".lastIndexOf("х"); // повертає -1
"канал".lastIndexOf("к", -5); // повертає 0
"канал".lastIndexOf("к", 0); // повертає 0
"канал".lastIndexOf(""); // повертає 5
"канал".lastIndexOf("", 2); // повертає 2
Чутливість до регістру
Метод lastIndexOf()
чутливий до регістру. Наприклад, наступний вираз поверне -1
:
"Синій Кит, Косатка".lastIndexOf("синій"); // повертає -1
Приклади
Застосування методів indexOf() та lastIndexOf()
Наступні приклади використовують indexOf()
і lastIndexOf()
для визначення розташування значень у рядку "Прекрасний, Прекрасний Новий Світ"
.
const anyString = "Прекрасний, Прекрасний Новий Світ";
console.log(anyString.indexOf("Прекрасний")); // 0
console.log(anyString.lastIndexOf("Прекрасний")); // 12
Специфікації
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lastIndexOf
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 6 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |