select<K, V> static method
Returns each map in list reduced to only the given keys.
Arr.select([
{'name': 'Anna', 'role': 'admin', 'age': 30},
{'name': 'Brad', 'role': 'user', 'age': 25},
], ['name', 'role']);
// [{'name': 'Anna', 'role': 'admin'}, {'name': 'Brad', 'role': 'user'}]
Implementation
static List<Map<K, V>> select<K, V>(
Iterable<Map<K, V>> list,
Iterable<K> keys,
) {
final keySet = keys.toSet();
return [
for (final m in list)
{
for (final e in m.entries)
if (keySet.contains(e.key)) e.key: e.value,
},
];
}