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()));

【ionic开发】TypeScript的深拷贝与浅拷贝 - 简书 (jianshu.com

posted @ 2023-07-24 15:11  赋流  阅读(318)  评论(0编辑  收藏  举报