Введение
В этом практическом занятии мы изучим концепцию поиска индекса последнего совпадения элемента в массиве с использованием JavaScript. Мы узнаем, как использовать методы Array.prototype.map() и Array.prototype.filter() для фильтрации элементов, для которых предоставленная функция возвращает ложные значения, и Array.prototype.pop() для получения последнего элемента в отфильтрованном массиве. В конце этого практического занятия вы сможете эффективно искать индекс последнего совпадения элемента в массиве с использованием JavaScript.
Как найти индекс последнего совпадающего элемента в массиве с использованием 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.
Резюме
Поздравляем! Вы завершили практическое занятие "Поиск индекса последнего совпадения". Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.