retainWhere method

  1. @override
void retainWhere(
  1. Test<E> test, {
  2. bool notifyListeners = true,
})
override

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

@override
void retainWhere(Test<E> test, {bool notifyListeners = true}) {
  if (notifyListeners) {
    _removeOrRetainWhere(false, test);
  } else {
    value.retainWhere(test);
  }
}