omitBy

Devuelve una copia de un Map sin las entradas que cumplan un predicado.

Map<K, V> omitBy<K, V>(bool Function((K, V) entry) f, Map<K, V> map)

Lección

Mientras que omit recibe una lista fija de claves, omitBy recibe un predicado y decide entrada por entrada. El predicado recibe la entrada completa como un record (K, V), así que tienes a mano tanto la clave como el valor: se leen con e.$1 (clave) y e.$2 (valor). Es la misma representación que entries(map) le da a un Map en el resto de la librería.

Úsalo siempre que lo que quieras descartar venga definido por una condición —«quitar las notas suspensas», «quitar los artículos sin stock»— en lugar de por un conjunto fijo de nombres de clave.

Demo 1 · Fundamentos

Demo 2 · Descartar por una condición sobre el valor

Pruébalo tú

Ejercicio: usa omitBy para descartar las entradas cuyo valor sea false.

Relacionado: pickBy — el inverso: conservar según un predicado · omit — descartar según una lista fija de claves · isMatch — un predicado profundo ya hecho para entradas · evolve — transformar los valores en lugar de descartarlos