function clone(target) {
if (typeof target !== 'object') {
return target
}
// 判断一下是数组还是对象
const temp = Array.isArray(target) ? [] : {}
for(const key in target) {
// 不知道对象里是否还有对象,如果有用递归可以解决
temp[key] = clone(target[key])
}
return temp
}
const obj = {
name: 'coderkjy',
age: 23,
hobby: { sports: 'nba篮球', app: '抖音' },
workerYear: ['2021', '2022']
}
const newObj = clone(obj)
console.log(newObj)
// {
// name: 'coderkjy',
// age: 23,
// hobby: { sports: 'nba篮球', app: '抖音' },
// workerYear: ['2021', '2022']
// }
console.log(newObj === obj)
// false
// 如果是浅拷贝那么就是true
这个是没有判断数据类型的