ix
Version:
The Interactive Extensions for JavaScript
28 lines (26 loc) • 542 B
text/typescript
/**
* @ignore
*/
export function arrayIndexOf<T>(array: T[], item: T, comparer: (a: T, b: T) => boolean) {
for (let i = 0, len = array.length; i < len; i++) {
if (comparer(item, array[i])) {
return i;
}
}
return -1;
}
/**
* @ignore
*/
export async function arrayIndexOfAsync<T>(
array: T[],
item: T,
comparer: (a: T, b: T) => boolean | Promise<boolean>
): Promise<number> {
for (let i = 0, len = array.length; i < len; i++) {
if (await comparer(item, array[i])) {
return i;
}
}
return -1;
}