chunked method

List<List<T>> chunked(
  1. int size
)

Splits this iterable into chunks of size size.

[1, 2, 3, 4, 5].chunked(2); // [[1, 2], [3, 4], [5]]

Implementation

List<List<T>> chunked(int size) {
  if (size <= 0) throw ArgumentError('Chunk size must be greater than 0');
  final List<List<T>> chunks = <List<T>>[];
  final List<T> list = toList();
  for (int i = 0; i < list.length; i += size) {
    final int end = (i + size < list.length) ? i + size : list.length;
    chunks.add(list.sublist(i, end));
  }
  return chunks;
}