Nest all content into snippets
This commit is contained in:
29
snippets/js/s/chunk-into-n.md
Normal file
29
snippets/js/s/chunk-into-n.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Split array into n chunks
|
||||
type: snippet
|
||||
language: javascript
|
||||
tags: [array]
|
||||
author: chalarangelo
|
||||
cover: dark-leaves-2
|
||||
dateModified: 2020-11-03T21:46:13+02:00
|
||||
---
|
||||
|
||||
Chunks an array into `n` smaller arrays.
|
||||
|
||||
- Use `Math.ceil()` and `Array.prototype.length` to get the size of each chunk.
|
||||
- Use `Array.from()` to create a new array of size `n`.
|
||||
- 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 chunkIntoN = (arr, n) => {
|
||||
const size = Math.ceil(arr.length / n);
|
||||
return Array.from({ length: n }, (v, i) =>
|
||||
arr.slice(i * size, i * size + size)
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
```js
|
||||
chunkIntoN([1, 2, 3, 4, 5, 6, 7], 4); // [[1, 2], [3, 4], [5, 6], [7]]
|
||||
```
|
||||
Reference in New Issue
Block a user