sumBy
Suma una clave de todos los elementos — map + sum en un solo paso, 0 cuando está vacío.
Lección
sumBy condensa la cola de dos etapas más habitual de los
pipelines de datos — .map((x) => x.field).sum() — en un
único terminal. Va plegando un total acumulado mientras extrae la clave,
así que no se materializa nada intermedio y la intención («totaliza este
campo») es una sola llamada en lugar de una proyección más una agregación.
El contrato es el de sum: un pipeline
vacío suma 0, y las claves int mantienen la aritmética entera
mientras que cualquier clave double promociona el total a
double.
Es un añadido nativo de Dart (FxTS solo trae el sum
numérico), de la misma familia que
maxBy /
minBy — Kotlin lo llama
sumOf.
Demo 1 · Fundamentos & el caso vacío
Demo 2 · Claves asíncronas
Pruébalo tú
Ejercicio: totaliza con una sola llamada las longitudes de las palabras largas.