1、for循环实现拷贝。
var arr = [1, 2, 3, 4, 5]
var arr2 = copyArr(arr)
function copyArr(arr) {
let res = []
for (let i = 0; i < arr.length; i++) {
res.push(arr[i])
}
return res
}
2、slice 方法实现数组拷贝
var arr = [1, 2, 3, 4, 5]
var arr2 = arr.slice(0)
arr[2] = 5
console.log(arr)
console.log(arr2)
3、concat 方法实现数组的拷贝
var arr = [1, 2, 3, 4, 5]
var arr2 = arr.concat()
arr[2] = 5
console.log(arr)
console.log(arr2)
4、ES6扩展运算符实现数组的深拷贝
var arr = [1, 2, 3, 4, 5]
var [...arr2] = arr
arr[2] = 5
console.log(arr)
console.log(arr2)