Как использовать циклы в JavaScript

Цикл позволяет вам перебирать каждый элемент в массиве, чтобы вы могли настраивать и выводить каждый из них по своему усмотрению. Как и в любом языке программирования, циклы также являются важным инструментом для рендеринга массивов в JavaScript.

С помощью некоторых практических примеров давайте глубже погрузимся в различные способы использования циклов в JavaScript.

Инкрементальный и декрементальный цикл в JavaScript

Инкрементный цикл for – это основа итерации в JavaScript.

Он принимает начальное значение, присвоенное переменной, и выполняет простую проверку условной длины. Затем он увеличивает или уменьшает это значение с помощью операторов ++ или .

Вот как выглядит его общий синтаксис:

 for(var i = initial value; i < array.length; i++) {
array[i]}

Теперь давайте переберем массив, используя указанный выше базовый синтаксис:

 anArray = [1, 3, 5, 6];
for(let i = 0; i < anArray.length; i++) {
console.log(anArray[i])
}
Output:
1
3
5
6

Теперь мы будем работать с каждым элементом в указанном выше массиве, используя цикл for в JavaScript:

 anArray = [1, 3, 5, 6];
for(let i = 0; i < anArray.length; i++) {
console.log("5", "x", anArray[i], "=", anArray[i] * 5)
}
Output:
5 x 1 = 5
5 x 3 = 15
5 x 5 = 25
5 x 6 = 30

Цикл последовательно перебирает массив с помощью оператора ++ , создавая упорядоченный вывод.

Но используя отрицательный ( ) оператор, вы можете перевернуть вывод.

Синтаксис такой же, но логика немного отличается от приведенного выше цикла увеличения.

Вот как работает декрементальный метод:

 anArray = [1, 3, 5, 6];
for(let i = anArray.length-1; i > = 0; i--) {
console.log("5", "x", anArray[i], "=", anArray[i]*5)
}
Output:
5 x 6 = 30
5 x 5 = 25
5 x 3 = 15
5 x 1 = 5

Логика приведенного выше кода не надумана. Индексация массива начинается с нуля. Таким образом, вызов anArray [i] обычно выполняет итерацию от нулевого индекса до трех, поскольку указанный выше массив содержит четыре элемента.

Таким образом, удаление единицы из длины массива и установка условия больше или равного нулю, как мы это сделали, очень удобно, особенно при использовании массива в качестве основы для вашей итерации.

Он сохраняет индекс массива на единицу меньше его длины. Условие i> = 0 затем заставляет счет останавливаться на последнем элементе в массиве.

Связанный: методы массива JavaScript, которые вы должны освоить сегодня

JavaScript для каждого

Хотя вы не можете декрементировать с помощью JavaScript forEach , он часто менее подробен, чем необработанный цикл for . Он работает, выбирая один элемент за другим, не запоминая предыдущий.

Вот общий синтаксис JavaScript forEach :

 array.forEach(element => {
action
})

Посмотрите, как это работает на практике:

 let anArray = [1, 3, 5, 6];
anArray.forEach(x => {
console.log(x)
});
Output:
1
3
5
6

Теперь используйте это, чтобы выполнить простую математическую операцию с каждым элементом, как вы делали в предыдущем разделе:

 let anArray = [1, 3, 5, 6];
anArray.forEach(x => {
console.log("5", "x", x, "=", x * 5)
});
Output:
5 x 1 = 5
5 x 3 = 15
5 x 5 = 25
5 x 6 = 30

Как использовать for … в цикле JavaScript

Цикл for … in в JavaScript выполняет итерацию по массиву и возвращает его индекс.

Вам будет легко использовать for … in, если вы знакомы с циклом for Python, поскольку они похожи по простоте и логике.

Взгляните на его общий синтаксис:

 for (let element in array){
action
}

Таким образом, цикл for … in присваивает каждому элементу массива переменную (элемент), объявленную в круглых скобках.

Таким образом, регистрация элемента непосредственно внутри цикла возвращает индекс массива, а не сами элементы:

 let anArray = [1, 3, 5, 6];
for (let i in anArray){
console.log(i)
}
Output:
0
1
2
3

Чтобы вместо этого вывести каждый элемент:

 let anArray = [1, 3, 5, 6];
for (let i in anArray){
console.log(anArray[i])
}
Output:
1
3
5
6

Как и при использовании декрементного цикла, также легко изменить вывод, используя for … in :

 let anArray = [1, 3, 5, 6];
// Remove one from the length of the array and assign this to a variable:
let v = anArray.length - 1;
// Use the above variable as an index basis while iterating down the array:
for (let i in anArray){
console.log(anArray[v])
v -=1;
}
Output:
6
5
3
1

Приведенный выше код логически аналогичен тому, что вы делали при использовании декрементного цикла. Тем не менее, он более читабелен и подробно изложен.

JavaScript для … из цикла

Цикл for … of аналогичен циклу for … in .

Однако, в отличие от … in , он выполняет итерацию не по индексу массива, а по самим элементам.

Его общий синтаксис выглядит так:

 for (let i of array) {
action
}

Давайте воспользуемся этим методом цикла для пошаговой итерации массива, чтобы увидеть, как он работает:

 let anArray = [1, 3, 5, 6];
for (let i of anArray) {
console.log(i)
}
Output:
1
3
5
6

Вы также можете использовать этот метод для перебора массива и обратного вывода. Это похоже на то, как вы это делаете, используя for … in :

 let anArray = [1, 3, 5, 6];
let v = anArray.length - 1;
for (let x of anArray) {
console.log(anArray[v])
v -=1;
}
Output:
6
5
3
1

Для работы в цикле:

 let anArray = [1, 3, 5, 6];
let v = anArray.length - 1;
for (let x of anArray) {
console.log("5", "x", anArray[v], "=", anArray[v] * 5)
v -=1;
}
Output:
5 x 6 = 30
5 x 5 = 25
5 x 3 = 15
5 x 1 = 5

Цикл "Пока"

В то время как цикл работает непрерывно, пока заданное условие остается истинным. Его часто используют как бесконечный цикл.

Например, поскольку ноль всегда меньше десяти, приведенный ниже код работает непрерывно:

 let i = 0;
while (i < 10) {
console.log(4)
}

Приведенный выше код записывает "4" бесконечно.

Давайте итерация через массив , используя время цикла:

 let i = 0;
while (i < anArray.length) {
console.log(anArray[i])
i +=1
}
Output:
1
3
5
6

JavaScript do … while Loop

Цикл do … while принимает и выполняет набор действий явно внутри синтаксиса do . Затем он утверждает , условие для этого действия внутри цикла.

Вот как это выглядит:

 do{
actions
}
while (
consition
)

Теперь давайте переберем массив, используя этот метод цикла:

 do{
console.log(anArray[i])
i +=1
}
while (
i < anArray.length
)
Output:
1
3
5
6

Ознакомьтесь с циклами JavaScript

Хотя мы выделили здесь различные методы циклов JavaScript, освоение основ итераций в программировании позволяет вам гибко и уверенно использовать их в своих программах. Тем не менее, большинство этих циклов JavaScript работают одинаково, с небольшими отличиями в их общей структуре и синтаксисе.

Однако циклы являются основой большинства рендеринга массивов на стороне клиента. Так что не стесняйтесь настраивать эти методы цикла по своему усмотрению. Например, их использование с более сложными массивами позволяет лучше понять циклы JavaScript.