Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

lastIndexOf Confusion

I really dont understand how lastIndexOf works. I could not get the usage of second optional parameter.

string.lastIndexOf(searchvalue,start)

searchvalue -> Required. The string to search for

start -> Optional. The position where to start the search. If omitted, the default value is the length of the string

var test = "mississippi";

test.lastIndexOf("ss",1) // return -1
test.lastIndexOf("ss",2) // returns 2
test.lastIndexOf("ss",5) // returns 5

Could anyone tell me the idea step by step ? Why first one returns -1 and second one returns 2 for example ?

TIA

like image 694
Barış Velioğlu Avatar asked Sep 01 '25 23:09

Barış Velioğlu


1 Answers

Its because thats the starting index. -1 means not found.

m 0
i 1
s 2
s 3
i 4
s 5
s 6
i 7
p 8
p 9
i 10

So starting at 1 and I dont see a match. But with 2, I see s then s at 3.

MDN explains it well.

like image 173
Daniel A. White Avatar answered Sep 03 '25 12:09

Daniel A. White