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