mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-21 12:51:17 -05:00
23 lines
873 B
TypeScript
23 lines
873 B
TypeScript
/**
|
|
* Returns the index of the last element in the array where predicate is true, and -1
|
|
* otherwise.
|
|
* @param array The source array to search in
|
|
* @param predicate find calls predicate once for each element of the array, in descending
|
|
* order, until it finds one where predicate returns true. If such an element is found,
|
|
* findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.
|
|
*/
|
|
export function findLastIndex<T>(array: Array<T>, predicate: (value: T, index: number, obj: T[]) => boolean): number {
|
|
let l = array.length
|
|
while (l--) {
|
|
if (predicate(array[l], l, array)) {
|
|
return l
|
|
}
|
|
}
|
|
return -1
|
|
}
|
|
|
|
export function findLast<T>(array: Array<T>, predicate: (value: T, index: number, obj: T[]) => boolean): T | undefined {
|
|
const index = findLastIndex(array, predicate)
|
|
return index === -1 ? undefined : array[index]
|
|
}
|