"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var is_array_1 = require("./is-array"); var is_function_1 = require("./is-function"); var hasOwnProperty = Object.prototype.hasOwnProperty; function groupBy(data, condition) { if (!condition || !is_array_1.default(data)) { return {}; } var result = {}; // 兼容方法和 字符串的写法 var predicate = is_function_1.default(condition) ? condition : function (item) { return item[condition]; }; var key; for (var i = 0; i < data.length; i++) { var item = data[i]; key = predicate(item); if (hasOwnProperty.call(result, key)) { result[key].push(item); } else { result[key] = [item]; } } return result; } exports.default = groupBy; //# sourceMappingURL=group-by.js.map