removeWhere method
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) {
if (lock) return _internal.removeWhere(test);
final removed = <int, T>{};
for (int index = 0; index < super.length; index++) {
if (test(super[index])) removed[index] = super[index];
}
if (removed.isNotEmpty) {
lock = true;
added = const {};
changed = const {};
this.removed = removed;
_internal.removeWhere(test);
notifyListeners();
}
}