UNPKG

749 BJavaScriptView Raw
1import isArray from './is-array';
2import isFunction from './is-function';
3var hasOwnProperty = Object.prototype.hasOwnProperty;
4function groupBy(data, condition) {
5 if (!condition || !isArray(data)) {
6 return {};
7 }
8 var result = {};
9 // 兼容方法和 字符串的写法
10 var predicate = isFunction(condition) ? condition : function (item) { return item[condition]; };
11 var key;
12 for (var i = 0; i < data.length; i++) {
13 var item = data[i];
14 key = predicate(item);
15 if (hasOwnProperty.call(result, key)) {
16 result[key].push(item);
17 }
18 else {
19 result[key] = [item];
20 }
21 }
22 return result;
23}
24export default groupBy;
25//# sourceMappingURL=group-by.js.map
\No newline at end of file