values
Los valores de un Map, como un Iterable perezoso normal — listo para envolver con fx() y encadenar.
Lección
values(map) es el gemelo de keys: un envoltorio
fino sobre el map.values de Dart, con un nombre coherente con
el resto del vocabulario de funciones de objeto, para que se lea con
naturalidad como fx(values(map)) junto a
fx(keys(map)) y fx(entries(map)). Igual que el
propio map.values, ya es una vista perezosa: no añade ningún
búfer extra.
Como te devuelve un Iterable<V> normal, se le aplican
directamente todos los operadores de cadena que has aprendido hasta ahora
— incluidos los terminales numéricos (sum(),
average(), min(), max()) cuando
V es un num. Eso convierte a values
en el punto de entrada natural para agregar los datos de un Map: sumar
precios, promediar puntuaciones, encontrar la marca de tiempo más
reciente, etc.
Esta es además la última parada antes de map en sí — la
siguiente lección, y el operador al que recurrirás constantemente de aquí
en adelante para transformar lo que te entreguen values,
entries o cualquier otra fuente.
Demo 1 · Fundamentos
Demo 2 · Agregar los valores de un Map
Pruébalo tú
Ejercicio: usa values para calcular la puntuación media.
keys — las claves de un Map ·
entries — claves y valores emparejados ·
map — transformar cada valor dentro de una cadena ·
sum · average · min · max — los terminales numéricos usados arriba