This commit is contained in:
16
src/collection/minBy.ts
Normal file
16
src/collection/minBy.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import {error} from "../util/error";
|
||||
|
||||
export function minBy<T>(value: T[], transform: (it: T) => number): T {
|
||||
if (value.length === 0) error();
|
||||
let min = value[0];
|
||||
let minVal = transform(min);
|
||||
for (let index = 1; index < value.length; index++) {
|
||||
const it = value[index];
|
||||
const val = transform(it);
|
||||
if (val < minVal) {
|
||||
min = it;
|
||||
minVal = val;
|
||||
}
|
||||
}
|
||||
return min;
|
||||
}
|
||||
Reference in New Issue
Block a user