Одиночество скверно, потому что мало кто может выносить самого себя (Ласло Фелеки).
JavaScript — Массивы. Метод lastIndexOf
17.11.2018

Описание
Метод lastIndexOf() в javascript возвращает последний индекс, в котором данный элемент может быть найден в массиве, или -1, если его нет. Массив выполняется в обратном порядке, начиная сIndex.
Синтаксис
Синтаксис выглядит следующим образом:
array.lastIndexOf(searchElement[, fromIndex]);
Детали параметров
- searchElement — элемент, который можно найти в массиве.
- fromIndex — индекс, в котором следует начинать поиск назад. По умолчанию используется длина массива, т. е. будет проведен поиск во всем массиве. Если индекс больше или равен длине массива, будет проверен весь массив. Если значение отрицательное, оно принимается за смещение от конца массива.
Возвращаемое значение
Возвращает индекс найденного элемента из последнего.
Совместимость
Этот метод является расширением JavaScript стандарта ECMA-262; как таковой, он не может присутствовать в других реализациях стандарта. Чтобы он работал, вам нужно добавить следующий код в верхней части вашего скрипта.
if (!Array.prototype.lastIndexOf) { Array.prototype.lastIndexOf = function(elt /*, from*/) { var len = this.length; var from = Number(arguments[1]); if (isNaN(from)) { from = len - 1; } else { from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; else if (from >= len) from = len - 1; } for (; from > -1; from--) { if (from in this && this[from] === elt) return from; } return -1; }; }
Пример
Попробуйте следующий пример.
<html>
<head>
<title>JavaScript - Массивы. Метод lastIndexOf</title>
</head>
<body>
<script type="text/javascript">
if (!Array.prototype.lastIndexOf)
{
Array.prototype.lastIndexOf = function(elt /*, from*/)
{
var len = this.length;
var from = Number(arguments[1]);
if (isNaN(from))
{
from = len - 1;
}
else
{
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
else if (from >= len)
from = len - 1;
}
for (; from > -1; from--)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
var index = [12, 5, 8, 130, 44].lastIndexOf(8);
document.write(>"Индекс : " + index );
var index = [12, 5, 8, 130, 44, 5].lastIndexOf(5);
document.write("<br />Индекс : " + index );
</script>
</body>
</html>
Вывод
Индекс : 2 Индекс : 5