tuna-jslinq
Version:
Linq methods for JavaScript/TypeScript for working with Arrays
14 lines (11 loc) • 447 B
text/typescript
JSLinqHelper.NonEnumerable("FirstOrDefault",
function <T>(this: T[], selector?: (item: T, index: number) => boolean): T | null {
if (!selector) return this.length > 0 ? this[0] : null;
let result = null;
this.ForEach((item, index) => {
const match = selector(item, index) === true;
if (match) result = item;
return match;
});
return result;
});