groupBy<T, K> function

Map<K, List<T>> groupBy<T, K>(
  1. Iterable<T> list,
  2. K convert(
    1. T
    )
)

分组

Implementation

Map<K, List<T>> groupBy<T, K>(Iterable<T> list, K Function(T) convert) {
  Map<K, List<T>> map = {};
  for (var v in list) {
    K k = convert.call(v);
    if (map.containsKey(k)) {
      map[k]!.add(v);
    } else {
      List<T> rl = [];
      rl.add(v);
      map[k] = rl;
    }
  }
  return map;
}