Add countBy, update other By snippets

Updated all By snippets to have matching behavior, consistent argument naming and added countBy as per #100.
This commit is contained in:
Angelos Chalaris
2018-01-11 13:45:53 +02:00
parent 967df5f670
commit bcc05a9a6e
7 changed files with 35 additions and 7 deletions

View File

@ -6,8 +6,8 @@ Use `Array.map()` to map the values of an array to a function or property name.
Use `Array.reduce()` to create an object, where the keys are produced from the mapped results.
```js
const groupBy = (arr, func) =>
arr.map(typeof func === 'function' ? func : val => val[func]).reduce((acc, val, i) => {
const groupBy = (arr, fn) =>
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i) => {
acc[val] = (acc[val] || []).concat(arr[i]);
return acc;
}, {});