代码详情:
// 自定义深拷贝
const deepCopy = (data: any) => {
// 定义新变量
let newData = null;
// 判断类型是不是对象
if (Object.prototype.toString.call(data) === '[object Object]') {
newData = {}
// 判断类型是不是数组
} else if (Object.prototype.toString.call(data) === '[object Array]') {
newData = []
} else {
// 都不是 直接返回data
return data
}
// 检验data的普通类型
for (let key in data) {
if (typeof data[key] === "object") {
// 调用递归方法 赋值
newData[key] = deepCopy(data[key])
} else {
newData[key] = data[key]
}
}
// 输出新的newData
return newData
}
// 导出
export default deepCopy
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。