removeWhere method Null safety
Removes all entries of this map that satisfy the given test
.
final terrestrial = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Earth'};
terrestrial.removeWhere((key, value) => value.startsWith('E'));
print(terrestrial); // {1: Mercury, 2: Venus}
Implementation
void removeWhere(bool Function(K key, V value) test,
{bool notifyChanges = true}) {
final stateChangedEvents = <EmpireStateChanged<V>>[];
_value.removeWhere((key, value) {
final shouldRemove = test(key, value);
if (shouldRemove) {
stateChangedEvents.add(EmpireStateChanged.removedFromMap(
key,
value,
propertyName: propertyName,
));
}
return shouldRemove;
});
if (notifyChanges) {
_viewModel.notifyChanges(stateChangedEvents);
}
}