Tu propio iterable
JavaScript · Unidad 16: Iteradores y generadores
- Plan completo
- JavaScript
- 10 ejercicios
Un objeto tuyo no se puede recorrer porque le falta el método que entrega los valores. Ese método tiene un nombre fijo: [Symbol.iterator], con corchetes.
Escríbelo como generador, con el asterisco delante, y tu clase ya funciona en un for...of.
class Fila {
constructor(gente) {
this.gente = gente;
}
*[Symbol.iterator]() {
for (const p of this.gente) {
yield p;
}
}
}
const f = new Fila(["Ana", "Luis"]);
for (const p of f) {
console.log(p);
}Imprime
Ana Luis
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. Predice la salida
¿Qué imprime este código?
2. Completa el código
Completa la clase para poder recorrerla con un
for...of.3. Encuentra el bug
Debería imprimir los dos nombres de la fila, uno por línea. ¿Qué línea tiene el error?
4. Predice la salida
La clase entrega solo las calificaciones aprobatorias, de 6 para arriba.
5. Opción múltiple
Con este objeto, ¿qué pasa si escribes
for (const c of caja)?6. Predice la salida
¿Qué imprime este código?
7. Ordena las líneas
Arma la clase
Semanapara que[...new Semana()]dé sus dos días.8. Opción múltiple
¿Qué necesita un objeto tuyo para poder usarse en un
for...of?9. Completa el código
Completa para contar cuántas letras distintas entrega el objeto.
10. Predice la salida
¿Qué imprime este código?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.