@3r/tool
Version:
🏃包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合
123 lines (122 loc) • 2.73 kB
TypeScript
/** 因数 */
interface IFactor {
/** 数字a */
a: number;
/** 数字b */
b: number;
}
/** 交换枚举 */
export declare enum InterchangeFlag {
/** 进操作位置更新 */
Move = 0,
/** 俩下标值更新 */
Change = 1
}
/**
* 数学拓展类
*/
export declare class Maths {
/**
* 获取整数的所有因数
* @param x 未知正整数
* @returns 所有因数
*/
static getFactors(x: number): IFactor[];
/**
* 获取整数的所有因数通过接近程度排序
* @param x 未知正整数
* @returns 所有因数
*/
static getFactorsByApproach(x: number): IFactor[];
/**
* 求和
* @param array 数组
*/
static sum(array: number[]): number;
/**
* 判断a与b符号是否相同
* @param a
* @param b
* @returns
*/
static sameSign(a: number, b: number): boolean;
/**
* 角度转弧度
* @param degree 角度
*/
static degreeToRad(degree: number): number;
/**
* 弧度转角度
* @param rad 弧度
*/
static radToDegree(rad: number): number;
/**
* 对象是否相等
* @param a
* @param b
*/
static equal<T>(a: T, b: T): boolean;
/**
* 交集
* @param a
* @param b
*/
static intersection<T>(a: T[], b: T[]): T[];
/**
* 删除重复项
* @param origin
*/
static removeRepeat<T>(origin: T[]): T[];
/**
* 补集
* @param a
* @param b
*/
static complementarySet<T>(a: T[], b: T[]): T[];
/**
* 并集
* @param a
* @param b
* @returns
*/
static union<T>(a: T[], b: T[]): T[];
/**
* 数组 通过下标交互位置
* @param array
* @param currentIndex
* @param targetIndex
*/
static interchange<T>(array: T[], currentIndex: number, targetIndex: number, flag?: InterchangeFlag): T[];
/**
* 阶乘
* https://www.delftstack.com/zh/howto/javascript/javascript-factorial/
* @param num 数
* @returns
*/
static iterationFactorial(num: number): number;
/**
* 勾股定理
* a²+b²=c²
*/
static pythagorasTheorem(a: number, b: number): number;
/**
* 在可及的范围内
* @param val 值
* @param min 最小
* @param max 最大
* @returns 范围内值
*/
static inRange(val: number, min: number, max: number): number;
}
declare global {
interface Number {
/**
* 在可及的范围内
* @param min 最小
* @param max 最大
* @returns 范围内值
*/
inRange(min: number, max: number): number;
}
}
export {};