这个问题我已经解决啦,但是仍然还是有问题,为什么要以下边(图一)这种写法
,对象才能被正确
的push进数组?
在此之前,我是这么push的
图二得到的对象中itemObj.selectNumber
和itemObj.selectContent
都是最后一个,而不是对应每一个。
大佬们不用找for循环的问题,因为我分别在多处打印过itemObj.selectNumber
和itemObj.selectContent
的取值是否正确,答案是正确
的。
后来我在打印过程时发现了一个问题,如下图所示:
然后我就知道一个事,就是我要遍历一次,推送一个数组,而不是所声明的变量
,这样才能确确实实的把对应的数据push进数组。
最后就回归到我想问的问题本身,那么,为什么要以图一
的写法,而不是图二
的写法,有人知道其原理吗?我真的非常想知道。
图一push的是克隆的新对象,所以push进数组的每一项都是单独的对象
图二push的是同一个对象,每次更新itemObj,之前的也会更新,所以全覆盖了