Sha256: 705396d47e45164a6c8db3cf130c87fefce48f6ac771eeaf4fbe973fb0357be8

Contents?: true

Size: 749 Bytes

Versions: 62

Compression:

Stored size: 749 Bytes

Contents

define([
    '../array/forEach',
    '../function/identity',
    '../function/makeIterator_'
], function(forEach, identity, makeIterator) {

    /**
     * Bucket the array values.
     */
    function groupBy(arr, categorize, thisObj) {
        if (categorize) {
            categorize = makeIterator(categorize, thisObj);
        } else {
            // Default to identity function.
            categorize = identity;
        }

        var buckets = {};
        forEach(arr, function(element) {
            var bucket = categorize(element);
            if (!(bucket in buckets)) {
                buckets[bucket] = [];
            }

            buckets[bucket].push(element);
        });

        return buckets;
    }

    return groupBy;
});

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trusty-festivity-extension-2.3.21 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.20 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.19 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.18 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.17 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.16 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.15 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.14 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.13 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.12 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.11g node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.10 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.9 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.8 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.7 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.6 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.5 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.4 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.3 node_modules/bower/node_modules/mout/src/array/groupBy.js
trusty-festivity-extension-2.3.2 node_modules/bower/node_modules/mout/src/array/groupBy.js