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