chunked method
Splits this iterable into chunks of size.
The last chunk may have fewer elements than size.
[1, 2, 3, 4, 5].chunked(2); // [[1, 2], [3, 4], [5]]
Implementation
Iterable<List<T>> chunked(int size) sync* {
if (size <= 0) throw ArgumentError.value(size, 'size', 'must be positive');
final iterator = this.iterator;
while (iterator.moveNext()) {
final chunk = <T>[iterator.current];
for (var i = 1; i < size && iterator.moveNext(); i++) {
chunk.add(iterator.current);
}
yield chunk;
}
}