| 123456789101112131415161718192021 |
- var each = require('./each');
- var isArray = require('./type/is-array');
- var hasOwnProperty = Object.prototype.hasOwnProperty;
- var groupBy = function groupBy(data, condition) {
- if (!condition || !isArray(data)) {
- return data;
- }
- var result = {};
- var key = null;
- each(data, function (item) {
- key = condition(item);
- if (hasOwnProperty.call(result, key)) {
- result[key].push(item);
- } else {
- result[key] = [item];
- }
- });
- return result;
- };
- module.exports = groupBy;
|