chunks method
Splits this iterable into chunks of size size.
The last chunk may have fewer than size elements. size must be positive.
Example:
[1, 2, 3, 4, 5].chunks(2); // [[1, 2], [3, 4], [5]]
Implementation
@useResult
Iterable<List<T>> chunks(int size) {
if (size < 1) {
throw ArgumentError(_kErrSizePositive, _kParamSize);
}
final List<T> list = _thisAsListOrToList();
final List<List<T>> result = <List<T>>[];
for (int i = 0; i < list.length; i += size) {
final int end = i + size > list.length ? list.length : i + size;
result.add(list.sublist(i, end));
}
return result;
}