Command Palette

Search for a command to run...

Bucle for

El bucle for permite ejecutar un bloque de código repetidamente un número específico de veces, siendo fundamental para iterar sobre secuencias y procesar colecciones de datos.

Lectura: 11 min
Nivel: Principiante

TL;DR - Resumen rápido

  • for ejecuta código repetidamente un número específico de veces
  • Sintaxis: for (inicialización; condición; incremento) { código }
  • Ideal para recorrer arrays y colecciones con índices
  • break detiene el bucle completamente
  • continue salta a la siguiente iteración
  • Cuidado con bucles infinitos: asegura que la condición termine
  • Los bucles anidados multiplican las iteraciones exponencialmente

¿Qué es el bucle for?

El bucle for es una estructura de control que permite ejecutar un bloque de código repetidamente mientras se cumpla una condición. Es especialmente útil cuando sabes de antemano cuántas veces necesitas repetir una operación, como recorrer todos los elementos de un array o ejecutar código un número fijo de veces.

A diferencia de while, el bucle for agrupa en una sola línea la inicialización del contador, la condición de continuación y el incremento, haciendo el código más compacto y fácil de leer cuando iteras sobre secuencias numéricas o arrays.

Sintaxis básica

La sintaxis del bucle for consta de tres partes separadas por punto y coma: la inicialización (se ejecuta una vez al inicio), la condición (se evalúa antes de cada iteración), y el incremento (se ejecuta después de cada iteración). Estas tres partes controlan completamente el flujo del bucle.

sintaxis-basica.js
Loading code...

El bucle comienza ejecutando let i = 0 (inicialización), luego evalúa i < 5 (condición). Si es verdadera, ejecuta el código del bloque y después ejecuta i++ (incremento). Este ciclo se repite hasta que la condición sea falsa. En el ejemplo, el bucle itera 5 veces con i tomando valores de 0 a 4.

Tres partes del for

Inicialización (ejecuta una vez), condición (evalúa antes de cada iteración), incremento (ejecuta después de cada iteración). Las tres partes son opcionales, pero los punto y coma son obligatorios.

Recorrer arrays

Uno de los usos más comunes del bucle for es recorrer arrays accediendo a cada elemento mediante su índice. Usas i como contador que va de 0 a array.length - 1, permitiéndote acceder a cada elemento con array[i].

recorrer-arrays.js
Loading code...

Al recorrer arrays con for, la condición i < array.length asegura que nunca accedas a índices fuera del array. Tienes acceso tanto al índice como al valor, lo que es útil cuando necesitas modificar elementos o conocer sus posiciones. El ejemplo muestra cómo procesar arrays de diferentes tipos: números, strings y objetos.

Alternativas modernas

Para simplemente recorrer arrays, considera usar métodos modernos como .forEach(), .map() o for...of. Usa for cuando necesites control sobre el índice o break/continue.

Break y continue

Las sentencias break y continue permiten controlar el flujo del bucle: break detiene el bucle completamente y sale de él, mientras continue salta el resto del código en la iteración actual y pasa directamente a la siguiente iteración.

break-continue.js
Loading code...

break es útil cuando encuentras lo que buscas y no necesitas continuar iterando, mejorando el rendimiento al evitar iteraciones innecesarias. continue permite saltar elementos que no cumplen ciertas condiciones sin detener el bucle completo. En el ejemplo, break detiene la búsqueda al encontrar el número 5, mientras continue omite números pares sin afectar el resto del bucle.

Bucles anidados

Puedes colocar bucles for dentro de otros bucles para trabajar con estructuras multidimensionales o generar combinaciones. Cada nivel de anidación multiplica el número de iteraciones, por lo que debes usarlos con cuidado en términos de rendimiento.

bucles-anidados.js
Loading code...

Los bucles anidados ejecutan el bucle interno completo por cada iteración del bucle externo. Si el externo tiene 3 iteraciones y el interno 3, tendrás 3 × 3 = 9 iteraciones totales. Esto es útil para matrices, tablas de multiplicar o generar combinaciones, pero ten cuidado: tres niveles anidados con 10 iteraciones cada uno resultan en 1000 iteraciones totales.

Cuidado con el rendimiento

Bucles anidados multiplican iteraciones: 100×100 = 10,000 operaciones. Evita más de 2-3 niveles de anidación y considera algoritmos más eficientes para grandes volúmenes de datos.

Bucle for decreciente

Puedes usar el bucle for para iterar en orden inverso, empezando desde un valor alto y decrementando hasta un valor bajo. Esto es útil para recorrer arrays desde el final hacia el inicio o para ciertos algoritmos específicos.

for-decreciente.js
Loading code...

Para crear un bucle decreciente, inicializas el contador con el valor más alto, usas una condición que verifica si es mayor o igual al mínimo, y decrementas con i--. Esto es útil para recorrer arrays al revés, implementar cuentas regresivas, o cuando necesitas procesar elementos en orden inverso por requisitos del algoritmo.

Errores comunes

El bucle for puede causar errores sutiles si no tienes cuidado con las condiciones, límites de arrays o modificaciones de la variable de control. Conocer estos errores comunes te ayudará a evitar bugs difíciles de detectar.

errores-comunes.js
Loading code...

Los errores más comunes incluyen bucles infinitos (condición que nunca se vuelve falsa), off-by-one errors (usar <= en lugar de < con arrays), y olvidar incrementar el contador. El bucle infinito es especialmente peligroso porque puede colgar tu aplicación. Siempre verifica que la condición eventualmente se vuelva falsa y que el incremento/decremento esté presente.

Previene bucles infinitos

Asegúrate siempre de que la condición del bucle eventualmente se vuelva falsa. Un bucle infinito puede colgar tu aplicación y requiere forzar el cierre.

Casos prácticos

Veamos ejemplos reales de cómo usar el bucle for en situaciones comunes de desarrollo, desde procesar datos hasta generar secuencias y buscar valores específicos.

casos-practicos.js
Loading code...

Los casos prácticos muestran aplicaciones reales: sumar elementos de un array, encontrar valores máximos, invertir strings, filtrar elementos que cumplen condiciones, y generar secuencias. Cada ejemplo demuestra cómo el bucle for proporciona control fino sobre las iteraciones, permitiéndote implementar lógica personalizada que métodos de array predefinidos no pueden hacer tan fácilmente.

Resumen

Resumen: Bucle for

Conceptos principales:

  • for ejecuta código un número específico de veces
  • Tres partes: inicialización, condición, incremento
  • Ideal para recorrer arrays con acceso a índices
  • break detiene el bucle, continue salta iteración
  • Bucles anidados multiplican las iteraciones

Mejores prácticas:

  • Usa i < array.length (no <=) para evitar desbordamiento
  • Asegura que la condición eventualmente sea falsa
  • Considera métodos modernos (.forEach, .map) cuando aplique
  • Evita más de 2-3 niveles de anidación
  • Usa break para optimizar: sal cuando encuentres lo buscado