操作变量也会影响用于初始化变量的变量

时间:2018-05-04 01:48:13

标签: typescript

所以我有这个代码

let dataToExport: any[] = this.employees;
dataToExport.forEach(function(v){delete v.profPic});

this.employees变量是一个对象数组。我想删除该数组中每个对象的某个属性profPic,而不更改this.employees变量的任何内容,这就是我创建另一个变量dataToExport并使用this.employees初始化它的原因。问题是在执行这些命令后我发现即使我只使用dataToExport来操作数组,this.employees也会改变。我通过使用控制台日志找到了这个。我的代码中有什么问题吗?我该怎么做才能实现我的目标?

1 个答案:

答案 0 :(得分:-1)

您的代码没有任何内容。这是因为当你做一个简单的任务时,你只是获得对原始变量的引用。要修复它,请使用类似lodash的东西并使用_.clone