数组:
arrDeepCopy () {
let arr1 = [1,2,3,4,5], arr2 = []
arr1.map((val, index)=>{
arr2[index] = val
})
arr2[2] = 2
console.log(arr1)
console.log(arr2)
}
对象:
objDeepCopy () {
let obj = { "name": "mike", "age" : 15, "gender": "boy" }, obj2 = {}
for (let key in obj) {
obj2[key] = obj[key]
}
obj2["name"] = "lily"
console.log(obj)
console.log(obj2)
}
封装:
deepClone (obj) {
let objCopy = Array.isArray(obj) ? [] : {}
if (obj && typeof obj === "object") {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] && typeof obj[key] === "object") {
objCopy[key] = this.deepClone(obj[key])
} else {
objCopy[key] = obj[key]
}
}
}
}
return objCopy
}