UNPKG

@ryanuo/utils

Version:

提供多种实用工具函数,涵盖算法、浏览器操作、网络请求等多个领域

30 lines (29 loc) 964 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deepClone = deepClone; exports.getTypeName = getTypeName; exports.numberToFixed = numberToFixed; exports.toString = void 0; const toString = v => Object.prototype.toString.call(v); exports.toString = toString; function getTypeName(v) { const type = toString(v); return type.slice(8, -1).toLowerCase(); } function numberToFixed(num, fixed = 4) { if (num === 0 || Number.isNaN(num)) return 0; return Number(num.toFixed(fixed)); } function deepClone(obj) { if (obj === null || typeof obj !== "object") return obj; if (obj instanceof Date) return new Date(obj.getTime()); if (obj instanceof RegExp) return new RegExp(obj.source, obj.flags); if (Array.isArray(obj)) return obj.map(item => deepClone(item)); const clone = {}; for (const key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) clone[key] = deepClone(obj[key]); } return clone; }