Как найти индекс последнего совпадающего элемента в массиве с использованием JavaScript
Для поиска индекса последнего элемента, который соответствует определенному условию, в массиве на JavaScript используйте функцию findLastIndex
. Вот, как ее использовать:
const findLastIndex = (arr, fn) =>
(arr
.map((val, i) => [i, val])
.filter(([i, val]) => fn(val, i, arr))
.pop() || [-1])[0];
Функция findLastIndex
принимает два аргумента: массив для поиска и функцию для проверки каждого элемента. Вот, как она работает:
- Используйте
Array.prototype.map()
, чтобы создать новый массив пар [индекс, значение]
.
- Используйте
Array.prototype.filter()
, чтобы удалить из массива элементы, которые не соответствуют условию, заданному функцией fn
.
- Используйте
Array.prototype.pop()
, чтобы получить последний элемент в отфильтрованном массиве.
- Если отфильтрованный массив пуст, верните
-1
.
Вот пример использования findLastIndex
:
findLastIndex([1, 2, 3, 4], (n) => n % 2 === 1); // 2 (индекс значения 3)
findLastIndex([1, 2, 3, 4], (n) => n === 5); // -1 (значение по умолчанию, когда не найдено)
Для начала практики программирования откройте Терминал/SSH и введите node
.