File size: 345 Bytes
6d528b3 | 1 2 3 4 5 6 7 8 9 10 11 12 | export function findLastMatching<T>(
items: readonly T[] | null | undefined,
predicate: (item: T, index: number) => boolean,
): T | undefined {
if (!items) return undefined;
for (let index = items.length - 1; index >= 0; index -= 1) {
const item = items[index];
if (predicate(item, index)) return item;
}
return undefined;
}
|