findLast() и findLastIndex() — это методы массива, которые ищут с конца массива в направлении начала и возвращают последний элемент, удовлетворяющий заданному условию.
findLast() — возвращает сам найденный элементfindLastIndex() — возвращает индекс найденного элементаundefined или -1 соответственно, если совпадение не найденоconst numbers = [1, 2, 3, 4];
numbers.findLast(n => n < 3); // возвращает 2
numbers.findLastIndex(n => n < 3); // возвращает 1
Оба метода проходят по массиву с последнего элемента к первому и останавливаются, как только находят совпадение.
findLast(), когда тебе нужно последнее подходящее значение напрямуюfindLastIndex(), когда тебе нужно узнать позицию последнего совпаденияconst orders = [
{ id: 1, status: "pending" },
{ id: 2, status: "shipped" },
{ id: 3, status: "pending" }
];
orders.findLast(o => o.status === "pending");
// возвращает { id: 3, status: "pending" }
orders.findLastIndex(o => o.status === "pending");
// возвращает 2
Эти методы появились в ES2023, поэтому проверь совместимость, если нужна поддержка старых окружений, или используй polyfill при необходимости.
findLast() возвращает сам элемент, который соответствует условию, в то время как findLastIndex() возвращает числовую позицию этого элемента в массиве.
Новый — ещё не проверен сообществом
Вы