对象拷贝
方法一
var obj = {
name: '张松',
age: 18
}
var obj1 = JSON.parse(JSON.stringify(obj))
obj1.age = 20
console.log(obj1);
console.log(obj);
方法二
var obj = {
name: '张松',
age: 18
}
var obj1 = {}
for (const key in obj) {
obj1[key] = obj[key]
}
obj1.age = 20
console.log(obj1);
console.log(obj);
数组拷贝
方法一
var arr = [1, 2, 3]
var arr1 = []
arr.forEach(function(item, index) {
arr1[index] = item
})
arr[1] = 999
console.log(arr);
console.log(arr1);
方法二
var arr = [1, 2, 3]
var arr1 = arr.filter(function(item) {
return true
})
arr[1] = 999
console.log(arr);
console.log(arr1);
方法三
var arr = [1, 2, 3]
var arr1 = arr.map(function(item) {
return item
})
arr[1] = 999
console.log(arr);
console.log(arr1);
方法四
var arr = [1, 2, 3]
var arr1 = arr.concat([])
arr[1] = 999
console.log(arr);
console.log(arr1);
方法五
var arr = [1, 2, 3]
var arr1 = arr.slice(0)
arr[1] = 999
console.log(arr);
console.log(arr1);