4.0 KiB
4.0 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
5a2efd662fb457916e1fe604 | Iterate with JavaScript Do...While Loops | 1 | Iterar con JavaScript Do ... While Loops |
Description
do...while
" porque primero " do
" una pasada del código dentro del bucle sin importar qué, y luego se ejecuta " while
" se cumple una condición específica y se detiene una vez que esa condición ya no es verdadera. Veamos un ejemplo. var ourArray = [];Esto se comporta como se esperaría con cualquier otro tipo de bucle, y la matriz resultante se verá como
var i = 0;
hacer {
nuestroArray.push (i);
i ++;
} while (i <5);
[0, 1, 2, 3, 4]
. Sin embargo, lo que hace do...while
diferente de otros bucles es cómo se comporta cuando la condición falla en la primera comprobación. Veamos esto en acción. Aquí hay un bucle while común que ejecutará el código en el bucle siempre y cuando i < 5
. var ourArray = [];Observe que inicializamos el valor de
var i = 5;
mientras (i <5) {
nuestroArray.push (i);
i ++;
}
i
en 5. Cuando ejecutamos la siguiente línea, notamos que i
no es menor que 5. Por lo tanto, no ejecutamos el código dentro del bucle. El resultado es que ourArray
no agregará nada, por lo que aún se verá así []
cuando todo el código del ejemplo anterior termine de ejecutarse. Ahora, eche un vistazo a un do...while
loop. var ourArray = [];En este caso, inicializamos el valor de
var i = 5;
hacer {
nuestroArray.push (i);
i ++;
} while (i <5);
i
como 5, tal como hicimos con el bucle while. Cuando llegamos a la siguiente línea, no hay comprobación del valor de i
, por lo que vamos al código dentro de las llaves y lo ejecutamos. Agregaremos un elemento a la matriz e incrementaremos i
antes de llegar a la verificación de condición. Entonces, cuando se llega a comprobar si i < 5
ver que i
es ahora de 6 años, que no pasa la comprobación condicional. Así que salimos del bucle y estamos listos. Al final del ejemplo anterior, el valor de ourArray
es [5]
. Esencialmente, un bucle do...while
while garantiza que el código dentro del bucle se ejecute al menos una vez. Intentemos obtener un bucle do...while
while para que funcione presionando valores en una matriz. Instructions
while
de bucle en el código a un do...while
bucle de modo que el bucle empujará el número 10 a myArray
, y i
será igual a 11
cuando el código termina de ejecutarse. Tests
tests:
- text: Deberías usar un bucle <code>do...while</code> while para esto.
testString: 'assert(code.match(/do/g), "You should be using a <code>do...while</code> loop for this.");'
- text: '<code>myArray</code> debe ser igual a <code>[10]</code> .'
testString: 'assert.deepEqual(myArray, [10], "<code>myArray</code> should equal <code>[10]</code>.");'
- text: <code>i</code> debe ser 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