UNPKG

diginext-utils

Version:
36 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.min = min; /** * Finds the minimum value in an array. * If a key is provided, finds the minimum value of that property from each object. * * @template T - The type of elements in the array * @param array - The array to search * @param key - Optional key to find minimum value from objects * @returns The minimum value, or 0 if array is empty * * @example * ```ts * min([3, 1, 4, 1, 5]); // 1 * min([{ value: 5 }, { value: 2 }, { value: 8 }], 'value'); // 2 * min([]); // 0 * ``` */ function min(array, key) { if (!Array.isArray(array) || array.length === 0) { return 0; } if (key !== undefined) { return array.reduce((minVal, item) => { const value = item[key]; const numValue = typeof value === "number" ? value : Infinity; return numValue < minVal ? numValue : minVal; }, Infinity); } return array.reduce((minVal, value) => { const numValue = typeof value === "number" ? value : Infinity; return numValue < minVal ? numValue : minVal; }, Infinity); } //# sourceMappingURL=min.js.map