2020-04-27
描述
对数组中的每一个元素使用提供的函数进行运算后,返回结果集中的最小值。
提示
- 使用
Array.prototype.map()
迭代每一个元素,返回通过fn
运算后的值 - 最后使用
Math.min()
获取最小值
代码
const minBy = (arr, fn) => Math.min(...arr.map(typeof fn === 'function' ? fn : val => val[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