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
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js
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

Дивіться також