src/privates/_groupWith.js
function _groupWith (makeValue) {
    return function (arrayLike, iteratee) {
        var result = {};
        var len = arrayLike.length;

        for (var i = 0, element, key; i < len; i++) {
            element = arrayLike[i];
            key = iteratee(element, i, arrayLike);
            result[key] = makeValue(result[key], element);
        }

        return result;
    };
}
function _groupWith (makeValue) {
    return function (arrayLike, iteratee) {
        var result = {};
        var len = arrayLike.length;

        for (var i = 0, element, key; i < len; i++) {
            element = arrayLike[i];
            key = iteratee(element, i, arrayLike);
            result[key] = makeValue(result[key], element);
        }

        return result;
    };
}
function _groupWith ( makeValue ) { return function ( arrayLike , iteratee ) { var result = { } ; var len = arrayLike . length ; for ( var i = 0 , element , key ; i < len ; i ++ ) { element = arrayLike [ i ] ; key = iteratee ( element , i , arrayLike ) ; result [ key ] = makeValue ( result [ key ] , element ) ; } return result ; } ; }
Builds a "grouping function" for an array-like object.
@private
@param {Function} makeValue
@returns {Function}
Builds a grouping function for an array - like object .