groupBy<K> method

Map<K, List<T>> groupBy<K>(
  1. K key(
    1. T
    )
)

Groups elements by key, returning a Map<K, List<T>>.

words.groupBy((w) => w[0]) // {'h': ['hello'], 'w': ['world']}

Implementation

Map<K, List<T>> groupBy<K>(K Function(T) key) {
  final map = <K, List<T>>{};
  for (final e in this) {
    (map[key(e)] ??= []).add(e);
  }
  return map;
}