深浅拷贝
对arr1的操作会影响arr :1
2
3
4
5
6
7let arr=[1,2,3]
let arr1=arr
arr1.push(4)
console.log(arr)
console.log(arr1)
浅拷贝可以concat一下arr,这时对arr1的操作就不会影响arr了1
2
3
4
5
6
7let arr=[1,2,3]
let arr1=arr.concat([])
arr1.push(4)
console.log(arr)
console.log(arr1)
但如果arr里有一个json的话,浅拷贝后依然会影响arr1
2
3
4
5
6
7let arr=[{a:12,b:5},2,3]
let arr1=arr.concat([])
arr1[0].a++
console.log(arr)
console.log(arr1)
最简单的深拷贝1
2
3
4
5
6
7 let arr=[{a:12,b:5},2,3]
let arr1=JSON.parse(JSON.stringify(arr))
arr1[0].a++
console.log(arr)
console.log(arr1)