Files
30-seconds-of-code/snippets/chunk.md
Isabelle Viktoria Maciohsek 27c168ce55 Bake date into snippets
2021-06-13 13:55:00 +03:00

24 lines
695 B
Markdown

---
title: chunk
tags: array,intermediate
firstSeen: 2017-12-17T16:41:31+02:00
lastUpdated: 2020-11-03T21:35:12+02:00
---
Chunks an array into smaller arrays of a specified size.
- Use `Array.from()` to create a new array, that fits the number of chunks that will be produced.
- Use `Array.prototype.slice()` to map each element of the new array to a chunk the length of `size`.
- If the original array can't be split evenly, the final chunk will contain the remaining elements.
```js
const chunk = (arr, size) =>
Array.from({ length: Math.ceil(arr.length / size) }, (v, i) =>
arr.slice(i * size, i * size + size)
);
```
```js
chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
```