Files
sequence.ts/src/sequence/maxByOrNull.ts
2026-04-25 19:45:36 +02:00

15 lines
381 B
TypeScript

export function maxByOrNull<T>(value: Iterable<T>, transform: (it: T) => number): T | null {
let maxIt!: T;
let max!: number;
let found = false;
for (const it of value) {
const val = transform(it);
if (found && val <= max) continue;
maxIt = it;
max = val;
found = true;
}
if (!found) return null;
return maxIt;
}