Split an array into chunks of a given size. Pagination or batch processing.
export function chunk<T>(arr: T[], size: number): T[][] {
const result: T[][] = [];
for (let i = 0; i < arr.length; i += size) {
result.push(arr.slice(i, i + size));
}
return result;
}
// chunk([1,2,3,4,5], 2) => [[1,2], [3,4], [5]]
Splits an array into sub-arrays of length size. Last chunk may be smaller.
Pagination, batch API calls, or grid rows.
chunk(items, 10).forEach((batch) => sendBatch(batch));