数组在保持其值更改的相应数组后发生更改。

时间:2018-03-28 12:03:00

标签: javascript angular

我遇到了问题,我无法理解。我有一个服务数组:

this.awesombarservice.Selected = [{id:1, value="20180101"}],[{id:1, value="20180103"}]

我初始化了另一个数组并保持相同的值,如:

var this.awesombarservice.filter= this.awesombarservice.Selected

所以,如果在this.awesombarservice.filter中进行了任何更改,那么更改也会反映在另一个数组(this.awesombarservice.Selected)中。 可能是什么问题

2 个答案:

答案 0 :(得分:0)

  

可能是什么问题

您正在将this.awesombarservice.Selected的参考值设置为this.awesombarservice.filter,因此两个变量现在都指向同一个数组。

但是,如果您想制作this.awesombarservice.Selected深层副本,请使用

this.awesombarservice.filter = JSON.parse( JSON.stringify( this.awesombarservice.Selected ) ) )

答案 1 :(得分:0)

解决此问题的最简单方法是使用JSON stringify。

this.awesombarservice.filter = JSON.parse(JSON.stringify(this.awesombarservice.Selected)