Capítulo 14 — Programación funcional sobre colecciones
Parte 1A — Aprender Dart · Capítulo 14 de 62 · 6 h
Capítulo 14 — Programación funcional sobre colecciones
Nivel: intermedio Duración estimada: 6 h Requisitos previos: capítulo 05 (bucles), capítulo 06 (colecciones), capítulo 07 (funciones), capítulo 13 (excepciones) Lo que sabrás hacer al terminar: transformar, filtrar, ordenar y resumir cualquier lista de jugadores, enemigos u objetos de inventario en unas pocas líneas declarativas, sin escribir un solo bucle
for.
14.0 — Objetivos del capítulo
Al terminar este capítulo, serás capaz de:
- distinguir el estilo imperativo (cómo hacerlo) del estilo declarativo (qué obtener);
- escribir una función anónima y una función flecha para pasarlas a un método;
- recorrer una colección con
forEach(); - transformar una colección con
map(), incluso cambiando de tipo; - explicar qué es un
Iterabley por quétoList()suele ser obligatorio; - filtrar una colección con
where(); - buscar un elemento con
firstWhere(),lastWhere(),singleWhere()eindexWhere(); - responder a una pregunta de sí o no con
any(),every()ycontains(); - reducir una colección a un único valor con
reduce()yfold(); - elegir entre
reduce()yfold()con conocimiento de causa; - ordenar una lista con
sort()y escribir un comparador; - utilizar
compareTo()con números y con textos; - ordenar objetos por puntuación, por nombre y después por varios criterios;
- ordenar una copia sin modificar la lista original;
- dividir una colección con
take()yskip(); - aplanar listas anidadas con
expand(); - eliminar duplicados con
toSet(); - unir una colección en un texto con
join(); - usar el operador spread
...y su versión nullable...?; - escribir un
ify unfordirectamente dentro de un literal de lista; - encadenar varias operaciones en una sola expresión legible;
- decidir, con criterios claros, cuándo conviene volver a un bucle
for.
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión