在没有引用的情况下复制我的对象时停止工作

时间:2018-11-20 18:46:09

标签: angular typescript

我需要从我的对象中删除一个属性(indexvariacaoatributo),但我需要将该属性保留在根对象中。

这是我的算法,它从变量variacoes接收我的对象,并且在我从对象中删除属性indexvariacaoatributo之后,这种方法有效,但也从我的根对象中删除:

var variacoes = categoriaForm.variacoes
if(variacoes[0].estoque_variacao == null || variacoes[0].estoque_variacao == 0){
  variacoes = [];
}
//Retira do objeto o indexvariacaoatributo
for(let i=0;i<variacoes.length;i++){
  for (let j=0;j<variacoes[i].atributo.length;j++){
    console.log(variacoes[i].atributo[j].indexvariacaoatributo);
    delete variacoes[i].atributo[j].indexvariacaoatributo
  }
}

console.log(variacoes);

我尝试通过以下方式进行复制:

var variacoes = Object.assign({}, categoriaForm.variacoes);

也尝试过:

var variacoes = { ...categoriaForm.variacoes };

但是当我打印变量variacao时,我看到我的属性仍然停留在对象中。我放置了console.log,并且没有在for中打印元素。

以这种方式复制对象时,我还需要做些其他事情吗?

谢谢

0 个答案:

没有答案