removeWhere 方法

void removeWhere(
  1. bool test(
    1. K key,
    2. V value
    )
)
override

删除此映射中满足给定 test 条件的全部条目。

final terrestrial = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Earth'};
terrestrial.removeWhere((key, value) => value.startsWith('E'));
print(terrestrial); // {1: Mercury, 2: Venus}

实现

void removeWhere(bool test(K key, V value)) {
  var keysToRemove = <K>[];
  for (var key in keys) {
    if (test(key, this[key] as V)) keysToRemove.add(key);
  }
  for (var key in keysToRemove) {
    this.remove(key);
  }
}