Как ДЕЙСТВИТЕЛЬНО работает итерация по массиву с использованием for l oop? - PullRequest
1 голос
/ 09 июля 2020

Я новичок javascript, и я понимаю, как выполнять итерацию по массиву и как его использовать, но я очень-очень стараюсь понять, ПОЧЕМУ это работает.

Например:

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

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

console.log(myArray[i]);
}

Я понимаю, что происходит в каждой из трех частей для l oop, но я действительно не понимаю, как i получает доступ / общается с / подключается / обменивается данными с массивом myArray. В какой момент этого кода мы сообщаем javascript, что «i» каким-то образом связано с «myArray»?

Сначала я думал, что что-то подразумевается или неявно в for l oop, т.е. когда мы пишем i < myArray.length, это каким-то образом подразумевает, что i = myArray (что «i» присваивается значению всего, что находится в myArray). Но если подумать, i < myArray.length - это просто длина массива (в данном случае 4), и на самом деле не связывает их.

Итак, это открыло целую концептуальную банку червей для я о том, что на самом деле здесь «i», помимо переменной в a для l oop. Я думал о «i» как о своего рода призрачной / временной переменной, которую мы создаем, которая будет делать цикл за нас, а затем исчезнет, ​​как только это будет сделано (я даже не уверен, что это правильная метафора здесь).

Заранее прошу прощения, если я не сформулировал это четко, так как я всего лишь новичок.

Заранее спасибо.

1 Ответ

2 голосов
/ 09 июля 2020

Переменная i - это просто переменная. Это число, которое увеличивается с каждой итерацией и перестает увеличиваться, когда оно увеличивается по всем индексам в массиве. Переменная i не связана с myArray, за исключением того, что она перебирает все индексы myArray (0, 1, 2, 3). Он начинается с 0 и увеличивается при выполнении команд внутри for l oop (получение определенного элемента в myArray с использованием обозначения скобок).

Например, переменная i начинается с значение ноль. При значении 0 myArray вызывается в for l oop, но специально для 0-го индекса, который равен «единице». Затем переменная i увеличивается, и код в for l oop вызывает 1-й индекс массива и так далее, пока не будет выполнено условие i

Надеюсь, это поможет!

...