min.js

/**
 * 最小值是数组中的最低数字。
 * 该算法的时间复杂度为 `O(n)`,即线性时间,与数组的长度成正比。
 *
 * @param {Array<number>} x 包含一个或多个数据点的样本
 * @throws {Error} 如果数组 x 的长度小于1
 * @returns {number} 最小值
 * @example
 * min([1, 5, -10, 100, 2]); // => -10
 */
function min(x) {
    if (x.length === 0) {
        throw new Error("min 函数需要至少一个数据点");
    }

    let value = x[0];
    for (let i = 1; i < x.length; i++) {
        if (x[i] < value) {
            value = x[i];
        }
    }
    return value;
}

export default min;