@3r/tool
Version:
🏃包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合
1 lines • 1.49 kB
JavaScript
var n,t;(t=n=n||{})[t.Move=0]="Move",t[t.Change=1]="Change";class r{static getFactors(e){var r=[];for(let t=1;t<=e/2;t++)e%t==0&&r.push({a:t,b:e/t});return r}static getFactorsByApproach(t){return r.getFactors(t).sort((t,e)=>Math.abs(t.a-t.b)-Math.abs(e.a-e.b))}static sum(t){let e=0;for(var r of t)e+=r;return e}static sameSign(t,e){return 0<=(t^e)}static degreeToRad(t){return Math.PI*t/180}static radToDegree(t){return 180*t/Math.PI}static equal(t,e){if(typeof t!=typeof e)return!1;if("object"!=typeof t)return t===e;for(var r in t)if(!this.equal(t[r],e[r]))return!1;return!0}static intersection(t,r){return this.removeRepeat(t).filter(e=>r.find(t=>this.equal(t,e)))}static removeRepeat(r){return r.filter((e,t)=>r.findIndex(t=>this.equal(t,e))===t)}static complementarySet(t,r){var a=[];for(let e=0;e<r.length;e++)t.find(t=>this.equal(r[e],t))||a.push(r[e]);return a}static union(t,e){return this.removeRepeat(t.concat(e))}static interchange(t,e,r,a=n.Move){return a===n.Move&&t.splice(r,0,...t.splice(e,1)),a===n.Change&&(a=t[e],t[e]=t[r],t[r]=a),t}static iterationFactorial(e){let r=1;for(let t=2;t<=e;t++)r*=t;return r}static pythagorasTheorem(t,e){return Math.sqrt(t*t+e*e)}static inRange(t,e,r){return t<e?e:r<t?r:t}}[{name:"inRange",prototype:Number.prototype,type:"method"}].forEach(e=>{Object.defineProperty(e.prototype,e.name,{get:function(){let t=this;return function(){return r[e.name].apply(t,[t].concat(Object.values(arguments)))}}})});export{n as InterchangeFlag,r as Maths};