Improved chunk snippet, build README

This commit is contained in:
Angelos Chalaris
2017-12-13 12:06:05 +02:00
parent ac22d07c7b
commit 3aed33b6df
2 changed files with 16 additions and 5 deletions

View File

@ -13,6 +13,7 @@
* [Capitalize first letter of every word](#capitalize-first-letter-of-every-word)
* [Capitalize first letter](#capitalize-first-letter)
* [Check for palindrome](#check-for-palindrome)
* [Chunk array](#chunk-array)
* [Count occurrences of a value in array](#count-occurrences-of-a-value-in-array)
* [Current URL](#current-url)
* [Curry](#curry)
@ -120,6 +121,18 @@ const palindrome = str =>
// palindrome('taco cat') -> true
```
### Chunk array
Use `Array.apply()` to create a new array, that fits the number of chunks that will be produced.
Use `Array.map()` 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.apply(null, {length: Math.ceil(arr.length/size)}).map((v, i) => arr.slice(i*size, i*size+size));
// chunk([1,2,3,4,5], 2) -> [[1,2],[3,4],5]
```
### Count occurrences of a value in array
Use `reduce()` to increment a counter each time you encounter the specific value inside the array.

View File

@ -1,13 +1,11 @@
### Chunk Array
### Chunk array
Use `Array.apply()` to create a new array, that fits the number of chunks that will be produced.
Use `Array.map()` 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) =>
const chunk = (arr, size) =>
Array.apply(null, {length: Math.ceil(arr.length/size)}).map((v, i) => arr.slice(i*size, i*size+size));
// const myArray = [2, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2];
// chunk(myArray, 3) -> [ [ 2, 2, 2 ], [ 2, 2, 2 ], [ 3, 2, 3 ], [ 2, 3, 2 ], [ 2 ] ]
// chunk([1,2,3,4,5], 2) -> [[1,2],[3,4],5]
```