--- id: 5a2efd662fb457916e1fe604 title: Iterate with JavaScript Do...While Loops challengeType: 1 videoUrl: '' localeTitle: Iterar com JavaScript Do ... While Loops --- ## Description
Você pode executar o mesmo código várias vezes usando um loop. O próximo tipo de loop que você aprenderá é chamado de loop " do...while " porque primeiro ele " do " uma passagem do código dentro do loop, não importa o que aconteça, e então executa " while " uma condição especificada é verdadeira e pára assim que a condição não for mais verdadeira. Vamos ver um exemplo.
var ourArray = [];
var i = 0;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
Isso se comporta exatamente como você esperaria com qualquer outro tipo de loop, e a matriz resultante será semelhante a [0, 1, 2, 3, 4] . No entanto, o que faz o do...while diferente de outros loops é como ele se comporta quando a condição falha na primeira verificação. Vamos ver isso em ação. Aqui está um loop regular que executará o código no loop desde que i < 5 .
var ourArray = [];
var i = 5;
enquanto (i <5) {
ourArray.push (i);
i ++;
}
Observe que inicializamos o valor de i como sendo 5. Quando executamos a próxima linha, notamos que i não é menor que 5. Portanto, não executamos o código dentro do loop. O resultado é que o ourArray terá nada adicionado a ele, então ele ainda ficará assim [] quando todo o código no exemplo acima terminar de ser executado. Agora, dê uma olhada em um do...while loop.
var ourArray = [];
var i = 5;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
Neste caso, inicializamos o valor de i como 5, assim como fizemos com o loop while. Quando chegamos à próxima linha, não há verificação para o valor de i , então vamos para o código dentro das chaves e executá-lo. Vamos adicionar um elemento à matriz e incrementar i antes de chegarmos à verificação de condição. Então, quando chegarmos a verificar se i < 5 ver que i agora é 6, o que falha na verificação condicional. Então, saímos do loop e acabamos. No final do exemplo acima, o valor de ourArray é [5] . Essencialmente, um laço do...while while garante que o código dentro do loop será executado pelo menos uma vez. Vamos tentar fazer um do...while loop para trabalhar, empurrando valores para um array.
## Instructions
Alterar o while loop no código a um do...while loop para que o loop vai empurrar o número 10 a myArray , e i será igual a 11 quando o código termina a execução.
## Tests
```yml tests: - text: Você deveria estar usando um do...while loop para isso. testString: 'assert(code.match(/do/g), "You should be using a do...while loop for this.");' - text: 'myArray deve ser igual a [10] .' testString: 'assert.deepEqual(myArray, [10], "myArray should equal [10].");' - text: i deveria igual a 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 ```