title | tags |
---|---|
minBy |
math,array,function,beginner |
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.
export const minBy = <T = any>(arr: T[], fn: MapFunc<T> | string) =>
Math.min(...arr.map(isString(fn) ? (val: any) => val[fn] : fn));
minBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 2
minBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 2