--- id: 5a2efd662fb457916e1fe604 title: Iterate with JavaScript Do...While Loops challengeType: 1 videoUrl: '' localeTitle: Итерация с помощью JavaScript Do ... While Loops --- ## Description
Вы можете запустить один и тот же код несколько раз, используя цикл. Следующий тип цикла, который вы узнаете, называется циклом « do...while », потому что он сначала « do » один проход кода внутри цикла, независимо от того, что происходит, а затем он запускает « while », указанное условие истинно и останавливается, как только это условие перестает быть истинным. Давайте посмотрим на пример.
var ourArray = [];
var i = 0;
делать {
ourArray.push (я);
я ++;
} while (i <5);
Это ведет себя так же, как вы ожидали бы с любым другим типом цикла, и результирующий массив будет выглядеть как [0, 1, 2, 3, 4] . Однако то, что делает do...while отличается от других циклов, - это то, как оно ведет себя, когда условие не выполняется при первой проверке. Давайте посмотрим на это в действии. Вот регулярный цикл while, который будет запускать код в цикле, пока i < 5 .
var ourArray = [];
var i = 5;
тогда как (i <5) {
ourArray.push (я);
я ++;
}
Обратите внимание, что мы инициализируем значение i равным 5. Когда мы выполняем следующую строку, мы замечаем, что i не меньше 5. Таким образом, мы не выполняем код внутри цикла. В результате ourArray будет добавлен к нему, поэтому он будет выглядеть так [] когда весь код в приведенном выше примере завершится. Теперь взгляните на цикл do...while while.
var ourArray = [];
var i = 5;
делать {
ourArray.push (я);
я ++;
} while (i <5);
В этом случае мы инициализируем значение i как 5, как и в цикле while. Когда мы переходим к следующей строке, нет никакой проверки значения i , поэтому мы переходим к коду внутри фигурных скобок и выполняем его. Мы добавим один элемент в массив и увеличим i до того, как мы перейдем к проверке состояния. Затем, когда мы перейдем к проверке, если i < 5 видим, что i теперь 6, что не позволяет выполнить условную проверку. Итак, мы выходим из цикла и выполняем его. В конце приведенного выше примера значение ourArray равно [5] . По существу, цикл do...while while гарантирует, что код внутри цикла будет запускаться хотя бы один раз. Давайте попробуем do...while loop to work, нажав значения в массив.
## Instructions
Измените while цикл в коде для do...while в myArray i 11 do...while петли так, чтобы петля будет толкать число 10 до myArray , и i буду равен 11 , когда ваш код завершения работы.
## Tests
```yml tests: - text: Вы должны использовать do...while loop для этого. testString: 'assert(code.match(/do/g), "You should be using a do...while loop for this.");' - text: 'myArray должен равняться [10] .' testString: 'assert.deepEqual(myArray, [10], "myArray should equal [10].");' - text: i должен равняться 11 testString: 'assert.deepEqual(i, 11, "i should equal 11");' ```
## Challenge Seed
```js // Setup var myArray = []; var i = 10; // Only change code below this line. while (i < 5) { myArray.push(i); i++; } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```