4.0 KiB
4.0 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
5a2efd662fb457916e1fe604 | Iterate with JavaScript Do...While Loops | 1 | Iterar com JavaScript Do ... While Loops |
Description
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 = [];Isso se comporta exatamente como você esperaria com qualquer outro tipo de loop, e a matriz resultante será semelhante a
var i = 0;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
[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 = [];Observe que inicializamos o valor de
var i = 5;
enquanto (i <5) {
ourArray.push (i);
i ++;
}
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 = [];Neste caso, inicializamos o valor de
var i = 5;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
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
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
tests:
- text: Você deveria estar usando um <code>do...while</code> loop para isso.
testString: 'assert(code.match(/do/g), "You should be using a <code>do...while</code> loop for this.");'
- text: '<code>myArray</code> deve ser igual a <code>[10]</code> .'
testString: 'assert.deepEqual(myArray, [10], "<code>myArray</code> should equal <code>[10]</code>.");'
- text: <code>i</code> deveria igual a <code>11</code>
testString: 'assert.deepEqual(i, 11, "<code>i</code> should equal <code>11</code>");'
Challenge Seed
// Setup
var myArray = [];
var i = 10;
// Only change code below this line.
while (i < 5) {
myArray.push(i);
i++;
}
After Test
console.info('after the test');
Solution
// solution required