Метод 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.
Living Standard  

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes6 Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support Yes Yes Yes Yes8.1 Yes Yes

Див. також

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

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