Artículos de Tecnología

Estructura de repetición en JavaScript

Ingrid da Silva
Ingrid da Silva
Icono De Flecha Cuadrada Cíclica. Bucle O Símbolo De Proceso Repetitivo  Ilustración del bucle de repetición

En este artículo vamos a entender qué es una estructura de repetición en JavaScript.

Imagínate si vas al supermercado a comprar fruta ¿Coge un carrito o cesta para poner todas las frutas que necesites, para cuando estén todas puedes pasar a la caja a hacer el pago y luego llevártelas a casa o ir fruta por fruta, les paga las lleva una una?

Creo que prefieres la primer opción. Puedes ahorrar mucho tiempo y trabajo. Bueno, las estructuras de repetición en los lenguajes de programación funcionan como este carrito o canasta que nos ayuda en el súper.

Ahora, vayamos a un ejemplo más lógico. Imagina que quieres mostrar los contenidos dentro de un vector como en el ejemplo:

<script>
  const frutas = ["Plátano","Fresa","Mango","Naranja","Pera","Piña"];
</script>

Sin una estructura de repetición, normalmente lo tendríamos así

text += frutas[0] + "<br>";
text += frutas[1] + "<br>";
text += frutas[2] + "<br>";
text += frutas[3] + "<br>";
text += frutas[4] + "<br>";
text += frutas[5] + "<br>";

Si necesitas hacer lo mismo varias veces, como recorrer a una lista o realizar una operación en un conjunto de datos, las estructuras de repetición son la solución ideal para estos casos.

EBásicamente existen dos tipos de estructura de repetición en JavaScript: el for y el while, más adelante hablaremos de cada uno de ellos, cuándo usarlos y sus beneficios. Al usar estas estructuras, es posible automatizar tareas repetitivas, como iterar sobre elementos de un array o realizar una operación varias veces. Además, las estructuras de repetición se pueden combinar con otras estructuras, como estructuras de selección, if y switch, para crear programas más complejos.

while

El while es una estructura de control de flujo que permite ejecutar repetidamente un bloque de código mientras la condición especificada es verdadera. La sintaxis del while en JS es:

while (condición) {
  // código a ejecutar mientras la condición es verdadera
}

El bloque de código dentro del while se ejecutará cuando la condición especificada entre paréntesis sea verdadera. Es importante tener en cuenta que, si la condición nunca fue falsa, el while se ejecutará indefinidamente, lo que puede generar un loop infinito y causar problemas en su programa.

Vea un ejemplo simple del uso de while en JS:

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}
ejemplo while

Este ejemplo imprimirá los números del 0 al 4 en la consola, porque el bloque de código dentro del while se ejecutará siempre que i sea menor que 5. En cada iteración del loop, el valor de i se incrementa en 1. Cuando i llegue a 5, la condición se volverá falsa y el ciclo finalizará.

Como otras estructuras de control de flujo, el while tiene sus ventajas y desventajas.

Ventajas

Desvantajas

Diagrama de flujo

Diagrama de flujo while

Ahora tenemos un diagrama de flujo while para una mejor representación.El bucle "while" le permite repetir un bloque de código hasta que se cumpla una condición booleana.

do-while

El do-while es una estructura de control de flujo similar al while. La principal diferencia entre do-while y while es que do-while ejecuta el bloque de código al menos una vez antes de verificar la condición.La sintaxis de do-while en JS es:

do {
  // código a ser ejecutado por lo menos una vez
} while (condición);

El bloque de código dentro de 'do' se ejecutará al menos una vez, incluso si la condición especificada entre paréntesis es falsa. Después de ejecutar el bloque de código, se verifica la condición. Si la condición fuera verdadera, el bloque de código se vuelve a ejecutar, y así sucesivamente, hasta que la condición se vuelve falsa.

Vea un ejemplo simple del uso de do-while en JS:

let i = 0;
do {
  console.log(i);
  i++;
} while (i < 5);
ejemplo do-while

Este ejemplo imprimirá los números del 0 al 4 en la consola, al igual que el ejemplo con while. La única diferencia es que, incluso si la condición i<5 es falsa desde el principio, el bloque de código dentro de do se ejecutará al menos una vez.

Ventajas

Desvantajas

Diagrama de flujo

diagrama de flujo do-while

El bloque de código se ejecuta Después de ejecutar el bloque, se evalúa la condición booleana.

For

La instrucción "For" crea un bucle que consta de tres expresiones, entre paréntesis y separadas por un punto y una coma, seguidas de una declaración o una secuencia de declaraciones ejecutadas en secuencia.

for ([inicialización]; [condición]; [iteración])
  bloque de codigo 
  1. **La instrucción "For" crea un bucle que consta de tres expresiones, entre paréntesis y separadas por un punto y una coma, seguidas de una declaración o una secuencia de declaraciones ejecutadas en secuencia.
for (Let i = 0; i < 5; i++) {
 console.log(i) + "<br>";
}
ejemplo for

La instrucción "For" crea un bucle que consta de tres expresiones, entre paréntesis y separadas por un punto y una coma, seguidas de una declaración o una secuencia de declaraciones ejecutadas en secuencia.

Ventajas

Desvantajas

Diagrama de flujo

diagrama de flujo for

El bucle "for" permite repetir un bloque de código hasta que se cumpla una condición booleana.

Variaciones for

El blucle for contenie algunas variaciones que ofrecen flexibilidad y adaptabilidad en diferentes situaciones de programación. Son las variaciones del for:

for...in loop

La estructura de repetición "for...in" es una variación de la estructura de repetición for que se utiliza para iterar sobre elementos en una secuencia, como una lista, una tupla, un diccionario o set. La sintaxis básica de for.. in es la siguiente:

for variable in secuencia:
    # corpo del bucle

Donde "variable" es la variable usada para almacenar cada elemento de la secuencia durante cada iteración del bucle y "secuencia" es la secuencia a ser recorrida.

Durante cada iteración del bucle, la variable se asigna al siguiente elemento de la secuencia y se ejecuta el cuerpo del bucle. El bucle continúa hasta que se han ejecutado todos los elementos de la secuencia.. El bucle continúa hasta que todos los elementos de la secuencia han sido recorridos.

La estructura de repetición “for...in” es útil para simplificar el código que necesita iterar sobre una secuencia, ya que elimina la necesidad de una variable contable separada y la lógica de actualización asociada. Además, la estructura de repetición “for..in” también funciona con objetos iterables más complejos, como diccionarios, permitiendo que el bucle acceda a las claves y los valores correspondientes.

Veamos un ejemplo del uso del for...in en JS:

let coche = {
   marca: "Ford",
   modelo: "Mustang",
   año: 2022,
   color: "rojo"
};

for (let propiedad in coche) {
   console.log(propiedad + ": " + coche[propiedad]);
}
image-20230517174734325

En este ejemplo, coche es el objeto sobre el que queremos iterar y propiedad es la variable que usamos para almacenar cada propiedad del objeto durante cada iteración del bucle.

El cuerpo del bucle es simplemente la función console.log() que se llama para imprimir el nombre de la propiedad y el valor correspondiente en la pantalla. Tenga en cuenta que se accede al valor de la propiedad usando la notación de paréntesis del objeto(coche[propiedad]).

Cada propiedad del objeto se imprime en una nueva línea en el orden en que aparece en el objeto.

Ventajas
Desvantajas

for...of loop

La estructura de repetición for.. of es una funcionalidad introducida en ES6 (ecmascript 6) de JavaScript. Se utiliza para iterar sobre objetos iterables, como arrays, cadenas, sets, maps, entre otros.

La sintaxis básica de for.. of es la siguiente:

for (variável of iterável) {
   //Bloque de código a ejecutar
}

La palabra clave "for" va seguida de paréntesis.Dentro de los paréntesis, se declara una variable que se utilizará para almacenar cada valor del iterable en cada iteración del bucle.

Esta variable puede tener cualquier nombre válido en JavaScript. En su lugar, use la palabra clave "of" seguida del iterable que desea usar.

Un iterable es un objeto que tiene una función "Symbol.iterator" que devuelve un iterador.El bloque de código a ejecutar se coloca entre llaves {} y representa el cuerpo del bucle.

Veamos un ejemplo de uso del for...of en JS:

let nombres = ["Juan", "María", "Ana", "Pedro"];

for(let nombre of nombres){
    console.log(nombre);
}
ejemplo de for...of

En este ejemplo, "nombres" es el array que queremos iterar y "nombre" es la variable que usamos para almacenar cada elemento del array durante cada iteración del loop.

El cuerpo del bucle es simplemente la función "console.log()" que se llama para imprimir el valor de la variable "nombre" en la pantalla.

Cada elemento del array se imprime en una nueva línea, en el orden en que aparecen en el array.

La principal diferencia entre el for.. of y el for.. in es que el primer itera sobre los valores de los elementos de una secuencia, mientras que el segundo itera sobre las claves de los elementos de un objeto iterable. Otra diferencia importante es que el for.. of no itera sobre las propiedades del objeto, solo sobre los valores de los elementos.

Ventajas
Desvantajas

Conclusión

En JavaScript, hay dos estructuras de repetición: for y while.

La estructura de repetición "while" se utiliza cuando no se conoce el número de iteraciones y ejecuta la instrucción mientras la condición especificada es verdadera.

La estructura de repetición "for" se utiliza cuando se conoce el número de iteraciones. Utiliza tres expresiones separadas por punto y coma: la primera expresión se ejecuta antes del inicio del bucle, la segunda expresión se evalúa antes de cada iteración del bucle y, si es verdadera, se ejecuta la instrucción, de lo contrario el bucle se cierra, y la tercera expresión se ejecuta al final de cada iteración del bucle.

Se te gusta de este contenido y quieres saber más sobre como utilizar estructuras de repetición en la pratica, aqui en Alura Latam tenemos la formación logica de programación donde vas aprofundar ainda más.

Autor1

Ingrid da Silva Soy Scuba de Lógica, una desarrolladora Full-Stack y estudiante de Ciencias de la Computación. Mi enfoque principal se encuentra en los lenguajes de programación JavaScript y Python. Me considero una apasionada incansable del conocimiento tecnológico, ya que disfruto explorar todas las áreas que conforman este fascinante campo.

Autor2

Priscila Storck Soy estudiante de Análisis y Desarrollo de Sistemas y trabajo como Scuba en Alura Latam. Soy una persona apasionada de la educación y la tecnología, considero las dos como las herramientas más poderosas para generar transformación. Además, disfruto de las artes, la buena comida y viajar por Latinoamérica siempre que tengo la oportunidad.

Artículos de Tecnología

En Alura encontrarás variados cursos sobre . ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 274 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 274 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana