The lastIndexOf()
method returns the index within the calling String
object of the last occurrence of the specified value, searching backwards from fromIndex
. Returns -1 if the value is not found.
Syntax
str.lastIndexOf(searchValue[, fromIndex])
Parameters
searchValue
- A string representing the value to search for. If
searchValue
is an empty string, thenfromIndex
is returned. fromIndex
Optional- The index at which to start searching backwards in the string. Starting with this index, the left part of the string will be searched. It can be any integer. The default value is
+Infinity
. IffromIndex >= str.length
, the whole string is searched. IffromIndex < 0
, the behavior will be the same as if it would be0
.
Return value
The index of the last occurrence of the specified value; -1 if not found.
Description
Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character is str.length - 1
.
'canal'.lastIndexOf('a'); // returns 3 'canal'.lastIndexOf('a', 2); // returns 1 'canal'.lastIndexOf('a', 0); // returns -1 'canal'.lastIndexOf('x'); // returns -1 'canal'.lastIndexOf('c', -5); // returns 0 'canal'.lastIndexOf('c', 0); // returns 0 'canal'.lastIndexOf(''); // returns 5 'canal'.lastIndexOf('', 2); // returns 2
Case-sensitivity
The lastIndexOf()
method is case sensitive. For example, the following expression returns -1:
'Blue Whale, Killer Whale'.lastIndexOf('blue'); // returns -1
Examples
Using indexOf()
and lastIndexOf()
The following example uses indexOf()
and lastIndexOf()
to locate values in the string "Brave new world"
.
var anyString = 'Brave new world'; console.log('The index of the first w from the beginning is ' + anyString.indexOf('w')); // logs 8 console.log('The index of the first w from the end is ' + anyString.lastIndexOf('w')); // logs 10 console.log('The index of "new" from the beginning is ' + anyString.indexOf('new')); // logs 6 console.log('The index of "new" from the end is ' + anyString.lastIndexOf('new')); // logs 6
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. |
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 |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | 6 | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | 8.1 | (Yes) | (Yes) |