foop
Version:
interfaces that describe their intentions.
25 lines (24 loc) • 1.61 kB
JavaScript
/**
* @since 4.0.0
*
* @param {Array} array array to reduce to object
* @param {Function} iterator function to call on reduced, with `next`
* @return {Object} reduced array
*
*
* @name reduceObj
* @alias reduceObject
* @alias toObj
*
* @see Chainable
*
* @TODO example
* @TODO @curried 2
*/
module.exports = function reduceObj(array, iterator) {
return array.reduce(function(reduced, next) {
iterator(reduced, next)
return reduced
}, {})
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9PYmouanMiLCJzb3VyY2VzIjpbInRvT2JqLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDQuMC4wXG4gKlxuICogQHBhcmFtICB7QXJyYXl9IGFycmF5IGFycmF5IHRvIHJlZHVjZSB0byBvYmplY3RcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBpdGVyYXRvciBmdW5jdGlvbiB0byBjYWxsIG9uIHJlZHVjZWQsIHdpdGggYG5leHRgXG4gKiBAcmV0dXJuIHtPYmplY3R9IHJlZHVjZWQgYXJyYXlcbiAqXG4gKlxuICogQG5hbWUgcmVkdWNlT2JqXG4gKiBAYWxpYXMgcmVkdWNlT2JqZWN0XG4gKiBAYWxpYXMgdG9PYmpcbiAqXG4gKiBAc2VlIENoYWluYWJsZVxuICpcbiAqIEBUT0RPIGV4YW1wbGVcbiAqIEBUT0RPIEBjdXJyaWVkIDJcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByZWR1Y2VPYmooYXJyYXksIGl0ZXJhdG9yKSB7XG4gIHJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24ocmVkdWNlZCwgbmV4dCkge1xuICAgIGl0ZXJhdG9yKHJlZHVjZWQsIG5leHQpXG4gICAgcmV0dXJuIHJlZHVjZWRcbiAgfSwge30pXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtFQUNuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQzFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQ3ZCLE9BQU8sT0FBTztHQUNmLEVBQUUsRUFBRSxDQUFDO0NBQ1A7In0=