reduce-by
Turn an array of values into an object by using a function to determine the key an item belongs to and a function to determine how an item is grouped under that key. reduceBy
is like groupBy
, but more generic.
install
$ npm install reduce-by
example
const reduceBy = // group items by concatenating and use first character as the key// => { f: 'foo', b: 'barbaz' }
api
reduceBy(groupReducer, getInitialGroupValue, getKey, array)
groupReducer(group, value)
function that takes the accumulated group value and a value to be grouped and returns the new accumulated group valuegroup
accumulated group valuevalue
value to be added to the group=> group
accumulated group value
getInitialGroupValue()
function that returns the initial value for groups=> initialGroupValue
getKey(value)
function that takesvalue
and returns the key thatvalue
belongs to=> key
the key the value should be grouped under
array: []
an array of items to be turned into an object=> object