我添加了#34; break"为了分析代码。我几乎是初学者,而且 我真的很难理解为什么这个代码文档写了" 135"。 只要我小于arr.length,加一个给i,那个是清楚的。 第二行是指arr [i] .length,即使经过研究,我也不知道那是什么。 也许arr [0]的长度,arr [1]和arr [2] = arr [i] .length,那么2? 然后执行内部for循环我根本不理解。
var arr = [
[1,2], [3,4], [5,6]
];
for (var i=0; i < arr.length; i++) {
for (var j=0; j < arr[i].length; j++) {
document.write(arr[i][j]);
break;
}
}
答案 0 :(得分:1)
所以流程:
var arr = [
[1,2], [3,4], [5,6]
];
for (var i=0; i < arr.length; i++) {
// Inside this first loop we are dealing with an
// item in arr (e.g., [1,2])
for (var j=0; j < arr[i].length; j++) {
// Inside this loop we are dealing with an item
// from the previous loop (e.g, 1)
// We write the one and then exit the inner loop
// and move on to the next set of pairs.
document.write(arr[i][j]);
break;
}
}
有时使用变量更容易理解。这相当于:
var arr = [
[1,2], [3,4], [5,6]
];
for (var i=0; i < arr.length; i++) {
var pair = arr[i];
for (var j=0; j < pair.length; j++) {
var num = pair[j];
document.write(num);
break;
}
}
答案 1 :(得分:0)
break语句打破循环并在循环后继续执行代码。 (https://www.w3schools.com/js/js_break.asp)
在这种情况下,'break'只会从内循环中跳出来。
外循环将执行3次。
你可以像这样模拟所有的执行
i=0;
j=0; j<arr[0].length;
document.write(arr[0][0]); // output 1
break; // break inner loop
i=1;
j=0; j<arr[1].length;
document.write(arr[1][0]); // output 3
break; // break inner loop
i=2;
j=0; j<arr[2].length;
document.write(arr[2][0]); // output 5
break; // break inner loop
```