String.prototype.lastIndexOf()
The lastIndexOf() method, given one argument: a substring to search for, searches the entire calling string, and returns the index of the last occurrence of the specified substring. Given a second argument: a number, the method returns the last occurrence of the specified substring at an index less than or equal to the specified number.
Syntax
lastIndexOf(searchString)
lastIndexOf(searchString, position)
Parameters
searchString- 
    
Substring to search for.
If the method is called with no arguments,
searchStringis coerced to "undefined". Therefore,'undefined'.lastIndexOf()returns0— because the substringundefinedis found at position0in the stringundefined. But'undefine'.lastIndexOf(), returns-1— because the substringundefinedis not found in the stringundefine. positionOptional- 
    
The method returns the index of the last occurrence of the specified substring at a position less than or equal to
position, which defaults to+Infinity. Ifpositionis greater than the length of the calling string, the method searches the entire string. Ifpositionis less than0, the behavior is the same as for0— that is, the method looks for the specified substring only at index0.'hello world hello'.lastIndexOf('world', 4)returns-1— because, while the substringworlddoes occurs at index6, that position is not less than or equal to4.'hello world hello'.lastIndexOf('hello', 99)returns12— because the last occurrence ofhelloat a position less than or equal to99is at position12.'hello world hello'.lastIndexOf('hello', 0)and'hello world hello'.lastIndexOf('hello', -5)both return0— because both cause the method to only look forhelloat index0.
 
Return value
The index of the last occurrence of searchString found, or -1 if not found.
Description
Strings are zero-indexed: The index of a string's first character is 0, and the index of a string's last character is the length of the string minus 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, Brave New World".
let anyString = 'Brave, Brave New World';
console.log('The index of the first "Brave" is ' + anyString.indexOf('Brave'));
// logs 0
console.log('The index of the last "Brave" is ' + anyString.lastIndexOf('Brave'));
// logs 7
Specifications
| Specification | 
|---|
| ECMAScript Language Specification  # sec-string.prototype.lastindexof  | 
Browser compatibility
BCD tables only load in the browser