La instrucción continue funciona de manera similar a romper, pero en lugar de salir del ciclo por completo, salta a la siguiente iteración del ciclo. Veamos otro ejemplo que toma un número como entrada y devuelve solo los números que son cuadrados de números enteros (números enteros).
El HTML es básicamente el mismo que el del último ejemplo: una entrada de texto simple y un párrafo para la salida. El JavaScript también es prácticamente el mismo, aunque el bucle en sí es un poco diferente:
.png)
Aquí está el resultado:
- En este caso, la entrada debe ser un número (num). El bucle for recibe un contador que comienza en 1 (ya que en este caso no estamos interesados en 0), una condición de salida que dice que el bucle se detendrá cuando el contador sea mayor que el número de entrada y un iterador que suma 1 al contador cada vez.
- Dentro del ciclo, encontramos la raíz cuadrada de cada número usando Math.sqrt(i), luego verificamos si la raíz cuadrada es un número entero probando si es igual a sí mismo cuando se ha redondeado hacia abajo al entero más cercano (esto es lo que Math.floor() hace con el número que se pasa).
- Si la raíz cuadrada y la raíz cuadrada redondeada hacia abajo no son iguales (!==), significa que la raíz cuadrada no es un número entero, por lo que no nos interesa. En tal caso, usamos la instrucción continue para pasar a la siguiente iteración del ciclo sin registrar el número en ninguna parte.
- Si la raíz cuadrada ES un número entero, saltamos el bloque if por completo para que no se ejecute la instrucción continue; en su lugar, concatenamos el valor i actual más un espacio al final del contenido del párrafo.