retainWhere method
Removes all objects from this list that fail to satisfy test
.
An object o
satisfies test
if test(o)
is true.
final numbers = <String>['one', 'two', 'three', 'four'];
numbers.retainWhere((item) => item.length == 3);
print(numbers); // [one, two]
The list must be growable.
Implementation
void retainWhere(bool test(E element)) {
for (int i = 0; i < length; i++) {
if (test(_inner[i])) continue;
final removed = _inner[i];
_inner.removeAt(i);
_changes.add(ListChange<E>.remove(removed, i));
i--;
}
}