Show More
Commit Description:
utf8mb4
Commit Description:
utf8mb4
References:
File last commit:
Show/Diff file:
Action:
node_modules/es5-ext/array/#/group.js
| 28 lines
| 613 B
| application/javascript
| JavascriptLexer
|
r789 | // 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 result; | ||||
value(this); | ||||
callable(cb); | ||||
result = Object.create(null); | ||||
forEach.call( | ||||
this, | ||||
function (item) { | ||||
var key = apply.call(cb, this, arguments); | ||||
if (!result[key]) result[key] = []; | ||||
result[key].push(item); | ||||
}, | ||||
arguments[1] | ||||
); | ||||
return result; | ||||
}; | ||||