removeWhere method
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
@override
void removeWhere(bool Function(K key, V value) test) {
final List<MapEntry<K, V>> removed = [];
for (final entry in _map.entries) {
if (test(entry.key, entry.value)) {
removed.add(entry);
}
}
for (final entry in removed) {
_map.remove(entry.key);
}
notifyListeners(MapChangeDetails<K, V>([], removed));
}