TypeScript的深拷贝与浅拷贝
今天在开发过程中遇到深拷贝与浅拷贝的问题
const userData1: number[][] = this.dataMangager.getUserDataMap();
该行代码中的
userData1
是一个指向 this.dataMangager.getUserDataMap()
返回的二维数组的引用。当 this.dataMangager.getUserDataMap()
返回的二维数组发生改变时,userData1
仍然指向同一个数组,因此 userData1
也会随之改变。
换句话说,userData1
和 this.dataMangager.getUserDataMap()
引用的是同一个数组对象,因此它们会同步变化。
解决此问题用到了下文链接中的方法:
const userData1: number[][] = JSON.parse(JSON.stringify(this.dataMangager.getUserDataMap()));