removeWhere method

  1. @override
void removeWhere(
  1. bool test(
    1. T element
    )
)
override

Removes all objects from this list that satisfy test.

An object o satisfies test if test(o) is true.

final numbers = <String>['one', 'two', 'three', 'four'];
numbers.removeWhere((item) => item.length == 3);
print(numbers); // [three, four]

The list must be growable.

Implementation

@override
void removeWhere(bool Function(T element) test) {
  assert(ChangesNotifierHelperMixin.debugAssertNotDisposed(this));
  final List<T> removed = _list.where(test).toList();
  for (final value in removed) {
    _list.remove(value);
  }
  notifyListeners(ListChangeDetails<T>(const [], removed, 0));
}