16 lines
517 B
TypeScript
16 lines
517 B
TypeScript
/**
|
|
* Split an array into smaller chunks of specified size.
|
|
* @param array The array to split
|
|
* @param size The size of each chunk
|
|
* @returns Array of chunks
|
|
* @example chunkArray([1,2,3,4,5], 2) → [[1,2], [3,4], [5]]
|
|
*/
|
|
export const chunkArray = <T>(array: T[], size: number): T[][] => {
|
|
const chunkCount = Math.ceil(array.length / size);
|
|
return Array.from({ length: chunkCount }, (_, index) => {
|
|
const start = index * size;
|
|
const end = start + size;
|
|
return array.slice(start, end);
|
|
});
|
|
};
|