Saltar al contenido

Generadores

JavaScript · Unidad 16: Iteradores y generadores

Hasta ahora recorrías cosas que ya existían. Con function* (con asterisco) escribes tú quién entrega los valores: cada yield suelta uno.

Eso es un generador, y se recorre con un for...of como cualquier iterable.

function* dias() {
  yield "lunes";
  yield "martes";
}
for (const d of dias()) {
  console.log(d);
}

Imprime

lunes
martes

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Completa el código

    Completa el generador de la tabla del 5: el ciclo de abajo suma sus tres primeros múltiplos.

  3. 3. Predice la salida

    ¿Qué imprime este código?

  4. 4. Predice la salida

    ¿Qué imprime este código?

  5. 5. Opción múltiple

    Un generador ya entregó todos sus yield. ¿Qué regresa el siguiente next()?

  6. 6. Completa el código

    Completa para guardar los dos colores en el arreglo.

  7. 7. Predice la salida

    ¿Qué imprime este código?

  8. 8. Encuentra el bug

    Debería imprimir los dos colores, uno por línea. ¿Qué línea tiene el error?

  9. 9. Ordena las líneas

    Arma un generador que entregue los números de 1 a n, y junta los de cuenta(3) en un arreglo.

  10. 10. Predice la salida

    ¿Qué imprime este código?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →