循环的JavaScript嵌套

循环的JavaScript嵌套,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我无法理解以下代码的某些部分: 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++) { console.log(arr[i][j]); } } var-arr=[ [1,2], [3,4], [5,6] ]; 对于(变量i=0;i返回第一个位置的第一个数组的值->1 在您的例子中,您迭代数组的长度,在其中迭

我无法理解以下代码的某些部分:

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++) {
  console.log(arr[i][j]);
  }
}
var-arr=[
[1,2], [3,4], [5,6]
];
对于(变量i=0;i

arr[我]是什么意思?有人告诉我,arr[I]本身就是一个数组。怎么样?在arr[i][j]部分发生了什么?

i
变量在
arr
变量内部的数组(嵌套数组)上迭代,因此如果它看起来像是
arr[2]
,它将返回
arr
中的第三个数组(因为索引以0开头),即-
[5,6]

j
表示对嵌套数组中的元素进行迭代,因此如果它类似于
arr[2][1]
,则返回
6
,因为
6
arr[2]
数组中具有
1
索引的元素

 var arr = [[1,2], [3,4], [5,6]];
//position   0       1       2
//数组[i]

数组[0]
->返回[1,2]的数组

//数组[i][j]

数组[0][0]
->返回第一个位置的第一个数组的值->1


在您的例子中,您迭代数组的长度,在其中迭代数组的长度[i],因此在控制台中,您必须具有1到6的值,并尝试添加注释和重写以更好地解释发生的情况。玩代码,直到你明白发生了什么

//二维数组(或“数组数组数组”)。
//您可以将其视为按行和列的矩阵。
var arr=[
//第0列第1列
[1,2],//第0行
[3,4],//第1行
[5,6],//第2行
];
//在行上循环。
对于(var r=0;r
您拥有的是一个多维数组。这意味着它是一个包含数组的数组

for (var i=0; i < arr.length; i++) {
同上,但当我们得到长度
arr[i]
时。这意味着无论
i
是什么,请查看
arr
中位于该位置的项目。所以当
i=0
时,
arr[i]=[1,2]
。当
i=1
时,
arr[i]=[3,4]

console.log(arr[i][j]);
将在
arr
i
位置的数组中在
j
位置找到的项目写入控制台。因此,如果
i=0
j=0
,控制台将读取
1
。这是因为0处的
arr
为[1,2],该数组中0位置处的项为1。如果
i=0
j=1
它将打印
2
。如果
i=1
j=0
控制台将读取
3


希望这能向您清楚地解释一切。

arr[i]
-从
arr
获取
i
第四个索引处的元素
arr[i][j]
arr[i]
数组中获取
j
th索引处的项。在调试器中逐步执行代码,检查每个点的变量,例如
arr[i]
arr[i][j]
arr[i]
的含义将在讨论数组的JS基础教程中介绍。这个答案让您满意吗?
for (var j=0; j < arr[i].length; j++) {
console.log(arr[i][j]);