jr-util
Version:
这是MJR的JS工具库。定期更新
2 lines (1 loc) • 2.51 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function m(e){return Array.from(new Set(e))}function d(e){return e==null?e:JSON.parse(JSON.stringify(e))}function f(e){if(!e&&typeof e!="object")throw new Error("error arguments deepClone");const t=e.constructor===Array?[]:{};return Object.keys(e).forEach(r=>{e[r]&&typeof e[r]=="object"?t[r]=f(e[r]):t[r]=e[r]}),t}function p(e,t,r){let n,o,u,s,i;const l=function(){const c=+new Date-s;c<t&&c>0?n=setTimeout(l,t-c):(n=null,r||(i=e.apply(u,o),n||(u=o=null)))};return function(...c){u=this,s=+new Date;const g=r&&!n;return n||(n=setTimeout(l,t)),g&&(i=e.apply(u,c),u=c=null),i}}function b(e){return e?a(Object.keys(e).map(t=>e[t]===void 0?"":encodeURIComponent(t)+"="+encodeURIComponent(e[t]))).join("&"):""}function h(e){const t=e.split("?")[1];return t?JSON.parse('{"'+decodeURIComponent(t).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"').replace(/\+/g," ")+'"}'):{}}function N(e){e=e==null?window.location.href:e;const t=e.substring(e.lastIndexOf("?")+1),r={},n=/([^?&=]+)=([^?&=]*)/g;return t.replace(n,(o,u,s)=>{const i=decodeURIComponent(u);let l=decodeURIComponent(s);return l=String(l),r[i]=l,o}),r}function a(e){const t=[];for(let r=0;r<e.length;r++)e[r]&&t.push(e[r]);return t}const O=(e,t=3,r=3)=>{if(!e)return"";if(e.length<3)return e;let n=4;e.length<t+r+n&&(t=Math.floor(e.length/3),r=Math.floor(e.length/3)),n=e.length-t-r;const o=`^(\\S{${t}})\\S{${n}}(\\S{${r}})$`,u=new RegExp(o);return e.replace(u,"$1****$2")},y=(e,t="")=>{let r=e,n=100;try{let o=`${e}`;r=Number(e)*n}catch{return{num:e,unit:t,full:e+t}}if(r<1e4*n)return{num:e,unit:t,full:e+t};if(r>=1e4*n&&r<1e7*n){const o=Number((Math.round(r)/1e4/n).toFixed(2));return{num:o,unit:"\u4E07"+t,full:o+"\u4E07"+t}}else if(r>=1e7*n){const o=Number((Math.round(r)/1e7/n).toFixed(2));return{num:o,unit:"\u4EBF"+t,full:o+"\u4EBF"+t}}else return{num:e,unit:t,full:e+t}},A=(e,t)=>{let r=0,n=0;try{r=Number(`${e}`),n=Number(`${t}`)}catch{return 0}if(isNaN(r)||isNaN(n))return 0;let o=(Math.round((r-n)/n*1e3)/1e3).toFixed(2);return Number(o)},S=(...e)=>(console.log("jr",e),0),j=(e,t)=>new URL(`/src/assets/${e.substring(e.indexOf("/assets")+8)}`,t);exports.calcAdd=S;exports.cleanArray=a;exports.clone=d;exports.debounce=p;exports.deepClone=f;exports.desensitization=O;exports.formatBigNum=y;exports.formatPercent=A;exports.getAssetUrl=j;exports.getQueryObject=h;exports.getQueryObject2=N;exports.param=b;exports.uniqueArr=m;
;