Plato on Github
Report Home
node_modules/es5-ext/array/#/group.js
Maintainability
72.67
Lines of code
20
Difficulty
11.46
Estimated Errors
0.15
Function weight
By Complexity
By SLOC
// Inspired by Underscore's groupBy: // http://documentcloud.github.com/underscore/#groupBy 'use strict'; var callable = require('../../object/valid-callable') , value = require('../../object/valid-value') , forEach = Array.prototype.forEach, apply = Function.prototype.apply; module.exports = function (cb/*, thisArg*/) { var r; (value(this) && callable(cb)); r = {}; forEach.call(this, function (v) { var key = apply.call(cb, this, arguments); if (!r.hasOwnProperty(key)) r[key] = []; r[key].push(v); }, arguments[1]); return r; };