ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
24 lines (20 loc) • 634 B
JavaScript
;
var forEach = require('./forEach.js');
var identity = require('./identity.js');
var createIteratee = require('./internals/createIteratee.js');
var groupBy = function (collection, iteratee) {
if (iteratee === void 0) { iteratee = identity; }
var result = {};
var internalIteratee = createIteratee(iteratee);
forEach(collection, function (item, index, arr) {
var key = internalIteratee(item, index, arr);
if (key in result) {
result[key].push(item);
}
else {
result[key] = [item];
}
});
return result;
};
module.exports = groupBy;