Dart filters lists through the
List.retainWhere methods. The
where function takes one argument: a boolean function that is applied to each element of the list. If the function evaluates to
true then the list element is retained; if the function evaluates to
false, the element is removed.
theList.retainWhere(foo) is practically equivalent to setting
theList = theList.where(foo).
[-1, 0, 2, 4, 7, 9].where((x) => x > 2) --> [4, 7, 9]