说我在数组中有数组:
time = 0
arr = [[1,2,3], [4,5,6], [7,8,9]]
而且我尝试在每个while循环中记录arr
while (time<3){
currentarr = JSON.parse(JSON.stringify(arr))
for(i=0;i<currentarr.length;i++){
for(j=0; j<currentarr[i].length; j++){
if(currentarr[i][j]>2){
arr[i][j]++
}
}
}
console.log(arr)
time++
}
我的问题是,每个while循环都给了我相同的arr(三个循环后的最终结果):
[[1, 2, 6],[7, 8, 9],[10, 11, 12]]
而不是每次:
[[1, 2, 4],[5, 6, 7],[8, 9, 10]]
[[1, 2, 5],[6, 7, 8],[9, 10, 11]]
[[1, 2, 6],[7, 8, 9],[10, 11, 12]]
我刚刚开始学习Javascript,但无法弄清楚哪一部分出错了……预先感谢!
1st-使用;
很重要。即使代码在您现在正在执行的环境中运行,也有很多引擎对此不满意。
2nd-您的while循环不会更改其内部的任何迭代。如果您注意的话,您的time
变量将不会被访问。它仅在while loop
和您的time++
添加条件下使用。它仅用作while loop
的计数器,但未在for loops
内部的任何地方用作数组的索引。
因此,您基本上每次都在while loop
内部执行整个代码3次,完全相同。