Вот массив с которым мы работаем:
var scores = [10,300, 500, 10, 70, 20, 100, 30, 100, 40, 20, 10];
scores.indexOf(20, -2) - со второго элемента с конца массива, это число 20 идет поиск первого совпадения? Ищет со второго элемента с конца включая его, верно? Второй элемент с конца массива является предпоследним, под индексом 10.
scores.lastIndexOf(20,-2) стратегия такая же самая, начинается поиск со второго элемента с конца, включая его? Ведь результат такой же, также выводит индекс 10.
Если написать такую строку:
scores.lastIndexOf(10,-5)
правильно я понимаю, что 5 элемент с конца, это цифра 30, включая ее, с нее стартует поиск к началу массива? И что первое на пути с конца вначало совпадет с цифрой 30, тот и индекс выведется? Даже если эти цифр 30 будет 8 раз на пути к началу массива?
Получается отрицательный второй -2 не важно стоит в indexOf или lastIndexOf ищется с конца массива к началу?
Такое дело и со строками, не только с числами?
indexOf с конца идет вправо, а lastIndexOf c конца идет влево искать элемент..