JS在for循环中用push方法改变数组,结果每次打印都一样?为什么?

img


如图所示、将b每次分割三份依次放入a中,在每次循环中都打印一下a,查看a的值。但是发现所有的结果都是一样的,只有长度不同,这是为什么?

img


求解求解!

1、a声明的位置不同会导致循环的结果不同
2、console.log()打印语句位置的不同也会影响循环的结果
你可以从这两方面入手

你把console.log(a)放到for循环外面
否则a会一遍一遍的打印,每次打印出来,前面的数据已经push进去了,当然不变了,只有后面的在变多

没问题啊,push到最后