【发布时间】:2020-10-03 01:42:46
【问题描述】:
假设我在数组中有数组:
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,但我不知道哪一部分出了问题……提前致谢!
【问题讨论】:
-
好问题 OP。让我把你放在
let (item of arr)模式上,与for (var i = 0; i < arr.length; i++) { arr[i] ... }相比,我个人节省了很多时间,后者的可读性要差很多。
标签: javascript loops while-loop