问题:newArray执行了倒叙后执行正常,但是data里的array也倒叙了
data:{
array:[
{id:0},{id:1}
]
}
-----------------------
var newArray = this.data.array
newArray.reverse()
console.log(newArray);
console.log(this.data.array)
[{id:1},{id:0}]
[{id:1},{id:0}]
------------------------------
解决方案:查阅相关资料后,发现这样的赋值并不是真的赋值,而是传递的性质,所以需要将数组array转换json字符串后,才算是赋值
------------------------------
var newArray = JSON.parse(JSON.stringify(this.data.array));
newArray.reverse()
console.log(newArray);
console.log(this.data.array)
[{id:1},{id:0}]
[{id:0},{id:1}]
------------------------------
【注意】这种问题只会出现在你的数组类型是键值对的情况
这就是js的基本类型和引用类型的区别
我也遇到这个问题没法解决,有人会吗
靠,找了一天,以为是自己哪写错了,谢谢楼主!
不明觉厉