firstWhereOrNull
Devuelve el primer elemento para el que el predicado es cierto, o null.
Lección
firstWhereOrNull es el nombre idiomático en Dart; fxdart
también acepta la grafía find de FxTS: son el mismo
operador. Es lo que resulta de fusionar head y
filter — de hecho está implementado exactamente así:
head(filter(f, iterable)). Esa fusión es la que lo hace
perezoso y capaz de cortocircuitar: tira de los elementos de uno en uno,
probando cada uno contra f, y se detiene en cuanto encuentra
una coincidencia. Nada de lo que viene después llega a tocarse.
Igual que head, una búsqueda sin coincidencias devuelve
null en lugar del undefined de FxTS. Está
disponible en versión data-first, como variante asíncrona y como método
tanto en la cadena síncrona como en la asíncrona.
Demo 1 · Fundamentos
Demo 2 · Cortocircuito & asíncrono
De un millón de elementos solo se comprueban 6:
Pruébalo tú
Ejercicio: usa firstWhereOrNull para obtener el primer artículo con qty > 0, o null.