Una forma de repetir un bloque de código cuando se conoce el número de iteraciones.
Los bucles for
son útiles para repetir declaraciones un cierto número de veces. Por ejemplo, un bucle for
facilita expresar la idea "dibujar cinco líneas" de la siguiente manera:
for (let x = 10; x < 100; x += 20) { line(x, 25, x, 75); }
La cabecera del bucle comienza con la palabra clave for
. Los bucles generalmente incrementan o disminuyen a medida que se repiten, o iteran. Las declaraciones entre paréntesis let x = 10; x < 100; x += 20
indican al bucle cómo debe repetirse:
let x = 10
indica al bucle que comience a contar desde10
y llevando un seguimiento de las iteraciones usando la variablex
.x < 100
le indica al bucle que cuente hasta, pero sin incluir,100
.x += 20
indica al bucle que incremente en20
al final de cada iteración.
El código entre llaves {}
es el cuerpo del bucle. Las declaraciones dentro del cuerpo del bucle se repiten durante cada iteración del bucle.
Es común crear bucles infinitos accidentalmente. Cuando esto sucede, los bocetos pueden volverse no responsivos y el navegador web puede mostrar una advertencia. Por ejemplo, el siguiente bucle nunca deja de iterar porque no se le ha indicado que incremente:
for (let x = 10; x < 100; x = 20) { line(x, 25, x, 75); }
La declaración x = 20
mantiene la variable x
estancada en 20
. El bucle continua infinitamente precisamente porque 20
siempre va a ser menor que 100
.
Los bucles for
también pueden contar hacia abajo (disminuir):
for (let d = 100; d > 0; d -= 10) { circle(50, 50, d); }
Los bucles for
también pueden contener otros bucles. El siguiente bucle anidado dibuja una cuadrícula de puntos:
// Loop from left to right for (let x = 10; x < 100; x += 10) { // Loop from top to bottom for (let y = 10; y < 100; y += 10) { point(x, y); } }
Los bucles for
también son útiles para iterar a través de los elementos de un arreglo. Por ejemplo, es común iterar a través de un arreglo que contiene información sobre dónde o qué dibujar:
// Create an array of x-coordinates.Let xCoordinates = [20, 40, 60]; for (let i = 0; i < xCoordinates.length; i += 1) { // Update the element. xCoordinates[i] += random(-1, 1); // Draw a circle. circle(xCoordinates[i], 50, 20); }
Si los valores del array no se modifican, la declaración for...of
puede simplificar el código. Son similares a los bucles for
en Python y los bucles for-each
en C++ y Java. Los siguientes bucles tienen el mismo efecto:
// Draw circles with a for loop let xCoordinates = [20, 40, 60]; for (let i = 0; i < xCoordinates.length; i += 1) { circle(xCoordinates [i], 50, 20); }
// Draw circles with a for...of statement. let xCoordinates = [20, 40, 60]; for (let x of xCoordinates) { circle(x, 50, 20); }
En estos fragmentos de código, las variables i
y x
tienen roles diferentes.
En el primer fragmento, i
cuenta desde 0
hasta 2
, que es uno menos que xCoordinates.length
. i
se utiliza para acceder al elemento en xCoordinates
en el índice i
.
En el segundo fragmento de código, x
no realiza un seguimiento del progreso del bucle o de un índice. Durante cada iteración, x
contiene el siguiente elemento de xCoordinates
. x
comienza desde el principio de xCoordinates
(20
) y actualiza su valor a 40
y luego a 60
durante las siguientes iteraciones.
Ejemplos
Referencias Relacionadas
Array
Una lista que mantiene diferentes tipos de datos en orden Los arreglos son útiles para almacenar datos relacionados.
class
Una plantilla para crear objetos de un tipo en particular.
for
Una forma de repetir un bloque de código cuando se conoce el número de iteraciones.
function
Un grupo de declaraciones con nombre.