Search code examples
javascriptlastindexof

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


Solution

  • 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.