Skip to main content

minBy

JS TODO

Returns the minimum value of an array, after mapping each element to a value using the provided function.

Use Array.prototype.map() to map each element to the value returned by fn, Math.min() to get the minimum value.

typescript
export const minBy = <T = any>(arr: T[], fn: MapFunc<T> | string) =>
Math.min(...arr.map(isString(fn) ? (val: any) => val[fn] : fn));
typescript
minBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 2
minBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 2