Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 1x 10x 10x 10x 1x 9x 9x 9x 9x 9x 9x 18x 18x 18x 9x | export const splitInto = <T>(count: number) =>
(array: T[]): T[][] => {
const length = array.length;
if (!length) {
throw Error('array is empty');
}
const numberOfChunks = Math.min(array.length, count);
const chunkSize = Math.floor(length / numberOfChunks);
const excess = length % numberOfChunks;
const result: T[][] = [];
let start = 0;
for (let i = 0; i < numberOfChunks; i++) {
const end = start + chunkSize + +(i < excess);
result.push(array.slice(start, end));
start = end;
}
return result;
};
|