sortByDesc
Ordena por cualquier clave comparable, descendente — el truco de la negación, jubilado.
Lección
Los rankings quieren su valor más grande primero, y hasta ahora la
única línea posible era sortBy((a) => -key) —
un truco que funciona solo con números. Las fechas, las
cadenas y cualquier otro Comparable no tienen signo menos.
sortByDesc es sortBy
con la comparación invertida: misma extracción de claves (cada clave se
calcula exactamente una vez), mismos atajos sin boxing para claves
double/int/String, mismo
contrato de nunca mutar la entrada.
La forma clásica que reemplaza es el ranking «top N»:
sortByDesc(key).take(n) se lee tal como está escrito,
donde la variante ascendente necesitaba la negación y un
comentario explicándola. Para «lo más nuevo primero» sobre fechas es
directamente la única escritura posible.
Adición nativa de Dart — el nombre sigue al
sortedByDescending de Kotlin. Cuando solo necesitas el
elemento más grande y no el orden completo, sáltate el orden entero:
maxBy es O(n).
Demo 1 · Rankings sin negación
Demo 2 · Claves que los números no pueden fingir
Pruébalo tú
Ejercicio: lo más nuevo primero sin negar nada.