if y for en colecciones
Crear listas condicionalmente y mediante bucles.
if y for en colecciones es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
Lógica dentro de los literales
A veces el contenido de una lista depende de una condición. Dart permite colocar un if directamente dentro del literal de colección, para construirla en un único lugar.
Collection if
Un collection if añade un elemento solo cuando su condición es verdadera. Si no se cumple ninguna condición, esa posición simplemente no aporta nada.
var nav = ['Home', if (loggedIn) 'Profile'];if con else
Puede añadir un else para elegir entre dos elementos. Uno de los dos siempre se incorpora a la colección, nunca ambos.
var tags = [if (vip) 'Gold' else 'Standard'];No necesita llaves
A diferencia de un if a nivel de instrucción, el collection if no utiliza llaves ni puntos y coma. Produce un elemento; no ejecuta un bloque.
Collection for
Un collection for genera elementos mediante un bucle directamente dentro del literal. Cada iteración añade lo que produzca el cuerpo del bucle.
var doubled = [for (var n in nums) n * 2];Como map, pero integrado
Un collection for suele sustituir una llamada a map cuando ya se encuentra dentro de un literal. Para transformaciones sencillas, puede resultar más directo de leer.
Combinar if y for
Puede combinar ambos: recorrer con for y después filtrar con if. Juntos construyen una lista adaptada en un único literal expresivo.
var evens = [for (var n in nums) if (n.isEven) n];Funciona más allá de las listas
El if y el for de colecciones también funcionan en literales de conjuntos y mapas. La misma sintaxis sencilla permite dar forma a los tres tipos de colección.
var m = {for (var u in users) u.id: u.name};Combina con spread
Puede combinar estos elementos con el operador spread. Inserte algunos elementos, expanda otra colección y añada condicionales, todo en un único literal.
var x = [...base, if (extra) 'plus'];Por qué es mejor que construir después
Construir la colección desde el principio mantiene el código declarativo. Evita crear una lista vacía y añadir elementos con instrucciones independientes.
Ideal para listas de interfaz
Esto resulta especialmente útil en Flutter, donde una lista de children suele mostrar widgets de forma condicional o a partir de datos. El literal se mantiene limpio y fácil de leer. 🧩
Comprobación rápida
¿Qué hace un collection if cuando su condición es falsa y no se proporciona un else?
Resumen
El if de colecciones añade elementos de forma condicional y el for de colecciones los genera en un bucle, directamente dentro de literales de listas, conjuntos y mapas. 🎯
Preguntas frecuentes
¿La lección «if y for en colecciones» es gratis?
Sí — el texto completo de «if y for en colecciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «if y for en colecciones»?
Crear listas condicionalmente y mediante bucles. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «if y for en colecciones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El operador cascada (..)
- Cascadas con null (?..)
- Spread y spread consciente de null
- if y for en colecciones