import cavar_type from "../cavar_type";
/**
* 功能:深拷贝对象或数组-检测该属性是否为对象本身的属性(不能拷贝原型对象的属性)
* @param {any} data - 目标对象
* @returns {object|array} -深拷贝对象或数组
*/
const deepClone = (target) => {
//检测数据的类型
if (typeof target === 'object' && target !== null) {
//创建一个容器
const result = Array.isArray(target) ? [] : {};
//遍历对象
for (let key in target) {
//检测该属性是否为对象本身的属性(不能拷贝原型对象的属性)
if (target.hasOwnProperty(key)) {
//拷贝
result[key] = deepClone(target[key]);
}
}
return result;
} else {
return target;
}
};
export default deepClone;