@3r/tool
Version:
🏃包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合
1 lines • 1.16 kB
JavaScript
function u(t,e=new WeakMap){if(null===t||"object"!=typeof t)return t;if(t instanceof Date)return new Date(t);if(t instanceof RegExp)return new RegExp(t);if(e.has(t))return e.get(t);var n,r=Array.isArray(t)?[]:{},o=Reflect.getPrototypeOf(t);for(n in e.set(t,!0),Reflect.setPrototypeOf(r,o),t)r[n]=u(t[n],e);return r}function t(t){var e=+new Date;return t(),`方法名: ${t.toString},执行时间: ${+new Date-e}ms.`}function e(n,r){let o=0;return function(...t){var e=Date.now();e-o>r&&(o=e,n.apply(this,t))}}function n(e,n){let r;return function(...t){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,t)},n)}}function r(e,n){var r={};for(let t=0;t<e.length;t++)r[n(e[t],t)]||(r[n(e[t],t)]=[]),r[n(e[t],t)].push(e[t]);return Object.values(r)}function o(n,r){for(let e=0;e<n.length-1;e++)for(let t=e+1;t<n.length;t++)if(r(n[e],n[t]))return!0;return!1}function l(e,n,r,o){let t,u=[];var f=null!=(t=null==r?void 0:r.children)?t:"children";for(let t=0;t<e.length;t++){var i=e[t];u.push(i),n&&n(i,o),i[f]&&i[f].length&&(u=u.concat(l(i[f],n,r,i)))}return u}export{u as cloneDeep,t as executionTime,e as antiShake,n as throttle,r as group,o as contrast,l as recursive};