数组的 浅拷贝 & 深拷贝
Posted wen233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的 浅拷贝 & 深拷贝相关的知识,希望对你有一定的参考价值。
继续不多bb,直接上代码:
含值类型的元素的假拷贝:
let obj = [1, 2] let copyFake = obj // let copyFake = [...obj] copyFake[1] = 20 console.log(obj[1]) // 20 console.log(copyFake[1]) // 20
含值类型的元素的浅拷贝:
let obj = [1, 2] let copyShallow = obj.slice() // let copyShallow = [...obj] copyShallow[1] = 20 console.log(obj[1]) // 2 console.log(copyShallow[1]) // 20
含引用类型元素的浅拷贝:
let obj = [ name: ‘小白1‘, job: ‘搬砖‘ , name: ‘小白2‘, job: ‘拌水泥‘ ] let copyShallow = obj.slice() // let copyShallow = [...obj] copyShallow[1].name = ‘大白‘ console.log(obj[1].name) // 大白 console.log(copyShallow[1].name) // 大白
含引用类型元素的深拷贝:
let obj = [ name: ‘小白1‘, job: ‘搬砖‘ , name: ‘小白2‘, job: ‘拌水泥‘ ] let copyDeep = JSON.parse(JSON.stringify(obj)) copyDeep[1].name = ‘大白‘ console.log(obj[1].name) // 小白2 console.log(copyDeep[1].name) // 大白
以上是关于数组的 浅拷贝 & 深拷贝的主要内容,如果未能解决你的问题,请参考以下文章