const clone = (obj) => {
const type = (obj) => { //判断数据类型
return Object.prototype.toString.call(obj).match(/[A-Z][a-z]+/)[0]
}
let newData = type(obj) === 'Array' ? [] : {}
for (const key in obj) {
let item = obj[key]
if (type(item) === 'Object') {
newData[key] = clone(item)
}else if (type(item) === 'Array') {
newData[key] = [...item]
}else {
newData[key] = obj[key]
}
}
return newData
}
手写深拷贝
最新推荐文章于 2024-10-09 00:58:21 发布