UNPKG

844 BJavaScriptView Raw
1"use strict";
2exports.__esModule = true;
3var each_1 = require("./each");
4var is_array_1 = require("./is-array");
5var is_function_1 = require("./is-function");
6var hasOwnProperty = Object.prototype.hasOwnProperty;
7function groupBy(data, condition) {
8 if (!condition || !is_array_1["default"](data)) {
9 return {};
10 }
11 var result = {};
12 // 兼容方法和 字符串的写法
13 var predicate = is_function_1["default"](condition) ? condition : function (item) { return item[condition]; };
14 var key;
15 each_1["default"](data, function (item) {
16 key = predicate(item);
17 if (hasOwnProperty.call(result, key)) {
18 result[key].push(item);
19 }
20 else {
21 result[key] = [item];
22 }
23 });
24 return result;
25}
26exports["default"] = groupBy;
27//# sourceMappingURL=group-by.js.map
\No newline at end of file