removeKeysExcept function

void removeKeysExcept(
  1. Map map,
  2. List keys, [
  3. bool recursive = false
])

Remove all values except that matches in list of keys

keys a list keys to be keep on map recursive if true seach for keys in three

Implementation

void removeKeysExcept(Map map, List keys, [bool recursive = false]) {
  map.removeWhere((key, value) {
    if (keys.contains(key)) {
      if (value is Map && recursive) {
        removeKeysExcept(value, keys, recursive);
      }
      return false;
    }
    return true;
  });
}