UNPKG

@3r/tool

Version:

🏃‍包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合

1 lines 1.33 kB
import{Maths as m}from"../lib/maths.js";var l,t;(t=l=l||{})[t.Large=1]="Large",t[t.Small=2]="Small",t[t.LargeSmall=3]="LargeSmall",t[t.Number=4]="Number",t[t.LargeNumber=5]="LargeNumber",t[t.SmallNumber=6]="SmallNumber",t[t.LargeSmallNumber=7]="LargeSmallNumber";class g{static uuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=16*Math.random()|0;return("x"===t?r:3&r|8).toString(16)})}static getRandomInt(t,r){return~~(Math.random()*(r-t))+t}static getDisorganizeArray(r){var e=[...r];for(let t=0;t<r.length;t++){var a=this.getRandomInt(0,r.length),n=e[t];e[t]=e[a],e[a]=n}return e}static getRandomStr(r,t=l.LargeSmallNumber,e=""){let a="",n="";"string"==typeof t?a=t:(0!=(t&l.Large)&&(a+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),0!=(t&l.Small)&&(a+="abcdefghijklmnopqrstuvwxyz"),0!=(t&l.Number)&&(a+="0123456789")),a.replace(e,"");for(let t=0;t<r;t++)n+=a[this.getRandomInt(0,a.length)];return n}static getRandomIndexByWeight(r,e="weight"){var t=m.sum(r.map(t=>+t[e])),a=g.getRandomInt(0,t);let n=0;for(let t=0;t<r.length;t++)if((n+=+r[t][e])>a)return t}static getRandomColor(){return`rgb(${new Array(3).fill("").map(()=>this.getRandomInt(0,256)).join(",")})`}}g.int=g.getRandomInt,g.str=g.getRandomStr,g.color=g.getRandomColor,g.confusion=g.getDisorganizeArray;export{l as GetRandomStrEnum,g as Randoms};