Метод indexOf() починає пошук від символа за індексом fromIndex в зворотньому напрямку (від кінця рядка до початку) всередині об'єкта String, з якого здійснюється виклик метода, і вертає індекс першого знайденого збігу із шуканим значенням.

Зауваження: Клас Array має власний подібний метод lastIndexOf().

Синтаксис

str.lastIndexOf(searchValue[, fromIndex])

Параметри

searchValue
Рядок, що є шуканим значенням.
fromIndex Optional
Індекс символа, з якого починається пошук в зворотньому напрямку (від кінця рядка до початку). Тобто підрядок шукається від fromIndex (включно) до початку рядка справа наліво. Типовим значенням (якщо не вказано) є +Infinity. Якщо fromIndex >= str.length, пошук здійснюється по всьому рядку. Якщо fromIndex < 0, то результат буде той самий, що і за fromIndex = 0.

Вертає

Індекс останнього знайденого збігу (першого з кінця); якщо збігу не знайдено, вертає значення -1.

Опис

Символи рядка (назвемо його str) мають індекси (зліва направо) від 0 (перший) до str.length - 1 (останній). Це стосується і параметра fromIndex, і значення, яке вертає метод:

'морок'.lastIndexOf('о');      // вертає  3
'морок'.lastIndexOf('о', 2);   // вертає  1
'морок'.lastIndexOf('о', 0);   // вертає -1
'морок'.lastIndexOf('ф');      // вертає -1
'морок'.lastIndexOf('м', -5);  // вертає  0
'морок'.lastIndexOf('м', 0);   // вертає  0
'морок'.lastIndexOf('');       // вертає  5
'морок'.lastIndexOf('', 2);    // вертає  2

Регістрозалежність метода lastIndexOf()

В наступному прикладі наведено два текстових рядки. Їх вміст є майже однаковим, але в strCapitalized слова починаються з великої літери, а в str — з малої. В обох рядках ми за допомогою lastIndexOf() шукаємо підрядок "дорблю", але дається взнаки регістрозалежність метода, а отже str містить шуканий підрядок, а strCapitalized — ні:

var str = 'брі, дорблю, камамбер';
var strCapitalized = 'Брі, Дорблю, Камамбер';

str.lastIndexOf('дорблю');             // вертає  5
strCapitalized.lastIndexOf('дорблю');  // вертає -1

Приклади

Використання indexOf() та lastIndexOf()

Наступний приклад наочно показує відмінність між використанням indexOf() та lastIndexOf() за однакових обставин:

'абабагаламага'.indexOf('га');       // вертає 5
'абабагаламага'.lastIndexOf('га');   // вертає 11

'абабагаламага'.indexOf('баба');     // вертає 1
'абабагаламага'.lastIndexOf('баба'); // вертає 1

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

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Первинне визначення.
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.
Draft  

Підтримка веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support 6Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

Див. також

Мітки документа й учасники

Зробили внесок у цю сторінку: asmforce
Востаннє оновлена: asmforce,