import each from './each'; import isArray from './is-array'; /** * @param {Array} arr The array to iterate over. * @return {*} Returns the minimum value. * @example * * min([1, 2]); * // => 1 * * min([]); * // => undefined * * const data = new Array(1250010).fill(1).map((d,idx) => idx); * * min(data); * // => 1250010 * // Math.min(...data) will encounter "Maximum call stack size exceeded" error */ export default (arr: number[]): number | undefined => { if (!isArray(arr)) { return undefined; } return arr.reduce((prev, curr) => { return Math.min(prev, curr) }, arr[0]); };