853 B
853 B
title, tags, expertise, author, cover, firstSeen, lastUpdated
| title | tags | expertise | author | cover | firstSeen | lastUpdated |
|---|---|---|---|---|---|---|
| Split array into n chunks | array | intermediate | chalarangelo | blog_images/dark-leaves-2.jpg | 2020-05-04T13:00:46+03:00 | 2020-11-03T21:46:13+02:00 |
Chunks an array into n smaller arrays.
- Use
Math.ceil()andArray.prototype.lengthto get the size of each chunk. - Use
Array.from()to create a new array of sizen. - Use
Array.prototype.slice()to map each element of the new array to a chunk the length ofsize. - If the original array can't be split evenly, the final chunk will contain the remaining elements.
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]]