实现深拷贝

实现深拷贝

分别先后判断简单数据类型、数组、对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function deepClone(value) {
let copy
if (typeof value !== 'object') {
copy = value
} else if (value instanceof Array) {
copy = []
value.forEach(item => {
copy.push(deepClone(item))
})
} else if (value instanceof Object) {
copy = {}
for (const key in value) {
copy[key] = deepClone(value[key])
}
}
return copy
}