n
smaller arrays.Math.ceil()
and Array.prototype.length
to get the size of each chunk.Array.from()
to create a new array of size n
.Array.prototype.slice()
to map each element of the new array to a chunk the length of size
.const chunkIntoN = (arr, n) => {
const size = Math.ceil(arr.length / n);
return Array.from({ length: n }, (v, i) =>
arr.slice(i * size, i * size + size)
);
}
chunkIntoN([1, 2, 3, 4, 5, 6, 7], 4); // [[1, 2], [3, 4], [5, 6], [7]]
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️