findLast() и findLastIndex() — маленькая революция в массивах
Показываем на реальных примерах, почему новые методы массивов заменяют старые костыли с reverse(). Коротко, наглядно и без мутаций.
JavaScript умеет удивлять даже в 2025 году. Казалось бы, у нас уже есть всё для работы с массивами: map, filter, find, reduce… Но недавно появились новые методы — findLast() и findLastIndex(). И это не просто косметика, а настоящая маленькая революция.
Зачем нужны новые методы?
До недавнего времени, если нам нужно было найти последний элемент массива, удовлетворяющий условию, приходилось идти в обход:
Перевернуть массив через
reverse()и применитьfind().Или пройтись циклом с конца.
Минусы очевидны:
reverse()мутирует массив — опасно и неочевидно.Цикл — громоздко и не в духе современного JavaScript.

Что изменилось
Теперь всё проще:
findLast()ищет последний элемент, подходящий под условие.findLastIndex()возвращает индекс этого элемента.
const users = [
{ name: "Аня", active: false },
{ name: "Борис", active: true },
{ name: "Вика", active: false },
{ name: "Гоша", active: true }
];
console.log(users.findLast(user => user.active));
// { name: "Гоша", active: true }
console.log(users.findLastIndex(user => user.active));
// 3
Почему это лучше старых трюков?
Код читается как текст — не нужно угадывать замысел.
Безопасность — нет мутаций массива.
Скорость — интерпретатор идёт с конца и останавливается на первом совпадении.
«До/после»: примеры
Задача | Было (раньше) | Стало (сейчас) |
|---|---|---|
Последний активный пользователь | | |
Индекс последней ошибки | | |
Последний чётный элемент | | |

Частые вопросы
Что возвращают?
findLast()— элемент илиundefined.findLastIndex()— индекс или-1.Про производительность: проходит массив один раз с конца, без разворота и копий.
TypeScript: сигнатуры аналогичны
find/findIndex, переход минимален.
Вывод
findLast() и findLastIndex() — это практичная замена костыльным паттернам с reverse() и ручными циклами. Код становится короче, безопаснее и очевиднее.
🙌 Все эти фишки и новинки мы обсуждаем в нашем уютном Telegram-канал, где мы делимся новостями из мира разработки, разбираем новые инструменты и шутим про жизнь программистов. Присоединяйся — будет интересно!