removeWhere method

  1. @override
void removeWhere(
  1. bool test(
    1. E p1
    )
)
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(E p1) test) {
  List<E> stored = List.from(this, growable: false);
  super.removeWhere(test);

  for (int i = 0; i < stored.length; ++i) {
    if (!contains(stored[i])) {
      _changes.add(ListChangeNotification<E>.removed(stored[i], i));
    }
  }
}