Метод 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)(Yes)6(Yes)(Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)8.1(Yes)(Yes)

Див. також

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

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