chunks method

Iterable<List<E>> chunks(
  1. int chunkSize
)

Split one large list to limited sub lists

[1, 2, 3, 4, 5, 6, 7, 8, 9].chunks(2)
// => [[1, 2], [3, 4], [5, 6], [7, 8], [9]]

Implementation

Iterable<List<E>> chunks(int chunkSize) sync* {
  if (chunkSize <= 0) {
    throw RangeError.value(chunkSize, 'chunkSize', 'must be greater than 0');
  }
  final len = this.length;

  for (int i = 0; i < len; i += chunkSize) {
    yield skip(i).take(chunkSize).toList();
  }
}