project-libs
Version:
project-libs 是一个常用函数集锦的工具库,包括浏览器、函数式、常用验证、cookie、数组处理等函数。
37 lines (36 loc) • 881 B
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = deepClone;
var type_1 = __importDefault(require("../type/type"));
/**
* 深层次克隆
* @param data {any} 数据源
* @returns {any} any
*/
function deepClone(data) {
var t = (0, type_1.default)(data), o, i, ni;
if (t === 'array') {
o = [];
}
else if (t === 'object') {
o = {};
}
else {
return data;
}
if (t === 'array') {
for (i = 0, ni = data.length; i < ni; i++) {
o.push(deepClone(data[i]));
}
return o;
}
else if (t === 'object') {
for (i in data) {
o[i] = deepClone(data[i]);
}
return o;
}
}
;