1

我是一个 javascript 初学者,我了解如何迭代数组以及如何使用它,但我真的非常非常难以理解它为什么起作用。

例如:

let myArray = ["one", "two", "three", "four"];

for(let i = 0; i < myArray.length; i++){ 

console.log(myArray[i]);
}

我了解 for 循环中的 3 个部分中的每一部分发生了什么,但我真的不明白如何i访问/通信/连接到/交换与数组的数据myArray.在这段代码中我们告诉 javascript那个“i”以某种方式连接到“myArray”?

起初,我认为 for 循环本身隐含或隐含了某些内容,即,当我们编写i < myArray.length它时,它以某种方式暗示i = myArray(“i”被分配给 in 的任何值myArray)。但经过进一步思考,i < myArray.length这只是数组的长度(在本例中为 4),并没有真正将两者联系起来。

因此,除了 for 循环中的变量之外,这为我打开了一整套关于“i”真正在这里的概念。我一直在考虑将“i”视为我们创建的一种幽灵/临时变量,它将为我们执行循环,然后在完成后消失(我什至不确定这是否是正确的比喻)。

如果我没有清楚地表达这一点,我提前道歉,因为我只是一个初学者。

提前致谢。

4

1 回答 1

2

变量i只是一个变量。它是一个随着每次迭代递增的数字,当它递增到数组中的所有索引时停止递增。变量 i 与 myArray 无关,只是它循环遍历 myArray 的所有索引 (0, 1, 2, 3)。它从 0 开始,并在执行 for 循环内的命令时自增(使用括号表示法获取 myArray 中的某个元素)。

例如,变量i从零值开始。当为 0 时,在 for 循环中调用myArray,但专门针对第 0 个索引,即“一”。然后变量i递增,for 循环中的代码调用数组的第一个索引,以此类推,直到满足条件 i < myArray.length,这标志着数组索引的上边界。

我希望这有帮助!

于 2020-07-09T18:45:44.870 回答