Files
freeCodeCamp/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops.md
camperbot 408968f0b9 chore(i18n,learn): processed translations (#47510)
* chore(i18n,learn): processed translations

* Update Ukrainian file to match state on crowdin

Co-authored-by: Ilenia <nethleen@gmail.com>
2022-09-14 18:30:37 +02:00

3.3 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
5a2efd662fb457916e1fe604 Itera con el bucle "do...while" de JavaScript 1 https://scrimba.com/c/cDqWGcp 301172 iterate-with-javascript-do---while-loops

--description--

El siguiente tipo de bucle que aprenderás se llama bucle do...while. Se llama bucle do...while porque primero hace (do) una pasada por el código dentro del bucle sin importar qué, y luego continua ejecutando el bucle mientras (while) la condición especificada sea verdadera (true).

const ourArray = [];
let i = 0;

do {
  ourArray.push(i);
  i++;
} while (i < 5);

El ejemplo anterior se comporta de forma similar a otros tipos de bucles, siendo el arreglo resultante [0, 1, 2, 3, 4]. Sin embargo, lo que hace que el bucle do...while sea diferente a otros bucles es cómo se comporta cuando la condición falla en la primera verificación. Veamos esto en acción. Aquí hay un bucle while normal que ejecutara el código en el bucle mientras i < 5:

const ourArray = []; 
let i = 5;

while (i < 5) {
  ourArray.push(i);
  i++;
}

En este ejemplo, inicializamos el valor de ourArray a un arreglo vacío y el valor de i a 5. Cuando ejecutamos el bucle while, la condición se evalúa como false porque i no es inferior a 5, así que no ejecutamos el código dentro del bucle. El resultado es que ourArray terminará sin valores añadidos, y todavía se verá como [] una vez el código del ejemplo anterior haya terminado de ejecutarse. Ahora, dale un vistazo a un bucle do...while:

const ourArray = []; 
let i = 5;

do {
  ourArray.push(i);
  i++;
} while (i < 5);

En este caso, inicializamos el valor de i a 5, tal como lo hicimos en el bucle while. Cuando lleguemos a la siguiente línea, no hay ninguna condición para evaluar, así que entramos al código dentro de las llaves y se ejecuta. Añadiremos un único elemento al arreglo y luego incrementaremos i antes de llegar a la verificación de la condición. Cuando finalmente evaluamos la condición i < 5 en la última línea, vemos que el valor de i es ahora 6, por lo que falla la comprobación condicional. Salimos del bucle y hemos terminado. Al final del ejemplo anterior, el valor de ourArray es [5]. Esencialmente, un bucle do...while asegura que el código dentro del bucle se ejecute al menos una vez. Intentemos construir un bucle do...while para que funcione empujando valores a un arreglo.

--instructions--

Cambia el bucle while en el código por un bucle do...while. El bucle solo enviará el número 10 a myArray, e i será igual a 11 cuando tu código haya terminado de ejecutarse.

--hints--

Debes utilizar el bucle do...while para este ejercicio.

assert(code.match(/do/g));

myArray debe ser igual a [10].

assert.deepEqual(myArray, [10]);

i debe ser igual a 11

assert.equal(i, 11);

--seed--

--after-user-code--

if(typeof myArray !== "undefined"){(function(){return myArray;})();}

--seed-contents--

// Setup
const myArray = [];
let i = 10;

// Only change code below this line
while (i < 5) {
  myArray.push(i);
  i++;
}

--solutions--

const myArray = [];
let i = 10;
do {
  myArray.push(i);
  i++;
} while (i < 5)