groupBy<K> method
Group elements in this iterable. Specifying a sorting criteria, this function returns a sorted map by key.
Implementation
Map<K, List<T>> groupBy<K>(
K Function(T) keyFunction, {
IterableGroupingCriteria<K>? sortingCriteria,
}) =>
fold(
sortingCriteria != null
? SplayTreeMap(sortingCriteria)
: <K, List<T>>{},
(Map<K, List<T>> map, T element) => map
..putIfAbsent(
keyFunction(element),
() => <T>[],
).add(element),
);