/** * a + b * @example * //3 * console.log(_.add(1,2)) * //1 * console.log(_.add(1,null)) * //NaN * console.log(_.add(1,NaN)) * * @param a * @param b * @returns a+b * @since 1.0.0 */ declare function add(a: number, b: number): number; /** * a / b * @example * //0.5 * console.log(_.divide(1,2)) * //Infinity * console.log(_.divide(1,null)) * //NaN * console.log(_.divide(1,NaN)) * * @param a * @param b * @returns a/b * @since 1.0.0 */ declare function divide(a: number, b: number): number; /** * 返回给定数字序列中最大的一个。忽略NaN,null,undefined * @example * //7 * console.log(_.max([2,3,1,NaN,7,4,null])) * //6 * console.log(_.max([4,5,6,'x','y'])) * //Infinity * console.log(_.max([4,5,6,Infinity])) * * @param values 数字/字符数组/Set * @returns * @since 1.0.0 */ declare function max(values: Set | Array): number; /** * 对多个数字或数字列表计算平均值并返回结果 * @example * //2.5 * console.log(_.mean([1,2,'3',4])) * //NaN * console.log(_.mean([1,'2',3,'a',4])) * //2 * console.log(_.mean([1,'2',3,null,4])) * * @param values 数字/字符数组/Set * @returns mean value * @since 1.0.0 */ declare function mean(values: Set | Array): number; /** * 对多个数字或数字列表计算中间值并返回结果 * @example * //2.5 * console.log(_.median([1,2,'3',4])) * //2 * console.log(_.median([1,'2',3])) * //1 * console.log(_.median([1,'2',-3])) * * @param values 数字/字符数组/Set * @returns median value * @since 1.12.0 */ declare function median(values: Set | Array): number; /** * 返回给定数字序列中最小的一个。忽略NaN,null,undefined * @example * //-1 * console.log(_.min([2,3,1,7,'-1'])) * //0 * console.log(_.min([4,3,6,0,'x','y'])) * //-Infinity * console.log(_.min([-Infinity,-9999,0,null])) * @param values 数字/字符数组/Set * @returns 如果参数不是数组/Set,返回NaN * @since 1.0.0 */ declare function min(values: Set | Array): number; /** * 返回min/max如果value超出范围 * @example * //1 * console.log(_.minmax([1,10,0])) * //6 * console.log(_.minmax([4,8,6])) * * @param min * @param max * @param value * @returns */ declare function minmax(min: number, max: number, value: number): number; /** * a * b * @example * //2 * console.log(_.multiply(1,2)) * //0 * console.log(_.multiply(1,null)) * //NaN * console.log(_.multiply(1,NaN)) * * @param a * @param b * @returns a*b * @since 1.0.0 */ declare function multiply(a: number, b: number): number; /** * 返回一个大于等于min,小于max的随机浮点数。支持单参数/无参数签名 * * ```js * _.randf(max);//单参数签名,此时min为0 * _.randf();//无参数签名,此时返回0-1的随机浮点数。效果与Math.random()相同 * ``` * * @example * //0-1随机浮点数 * console.log(_.randf()) * //0-9随机浮点数 * console.log(_.randf(10)) * //10-19随机浮点数 * console.log(_.randf(10,20)) * * @param min 最小边界值,包含。会进行浮点数转换,如果非数字会变为0 * @param max 最大边界值,不包含。会进行整数转换,如果非数字会变为0 * @returns */ declare function randf(): number; declare function randf(max: number): number; declare function randf(min?: number, max?: number): number; /** * 返回一个大于等于min,小于max的随机整数。支持单参数签名 * * ```js * _.randi(max);//此时min为0 * ``` * * @example * //0-9随机整数 * console.log(_.randi(10)) * //10-19随机整数 * console.log(_.randi(10,20)) * * @param min 最小边界值,包含。会进行整数转换,如果非数字会变为0,如果是小数会舍弃取整 * @param max 最大边界值,不包含。会进行整数转换,如果非数字会变为0,如果是小数会舍弃取整 * @returns */ declare function randi(max: number): number; declare function randi(min: number, max?: number): number; /** * a - b * @example * //-1 * console.log(_.subtract(1,2)) * //1 * console.log(_.subtract(1,null)) * //NaN * console.log(_.subtract(1,NaN)) * * @param a * @param b * @returns a - b * @since 1.0.0 */ declare function subtract(a: number, b: number): number; /** * 对字符/数字数组/Set进行求和并返回结果 * - 对nil值,自动转为0 * - 对NaN值,返回NaN * - 对Infinity值,返回Infinity * * @example * //10 * console.log(_.sum([1,'2',3,4])) * //10 * console.log(_.sum([1,'2',3,4,null,undefined])) * //9 * console.log(_.sum([NaN,'2',3,4])) * //Infinity * console.log(_.sum([Infinity,'2',3,4])) * //6 * console.log(_.sum(new Set([1,2,3]))) * * @param values 数字/字符数组/Set * @since 1.0.0 * @returns */ declare function sum(values: Set | Array): number; export { add, divide, max, mean, median, min, minmax, multiply, randf, randi, subtract, sum };