NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/util/lib/group-to-map.js

25 lines
789 B
JavaScript
Raw Normal View History

2023-09-14 14:47:11 +08:00
var isFunction = require('./type/is-function');
var isArray = require('./type/is-array');
var groupBy = require('./group-by');
var groupToMap = function groupToMap(data, condition) {
if (!condition) {
return {
0: data
};
}
if (!isFunction(condition)) {
var paramsCondition = isArray(condition) ? condition : condition.replace(/\s+/g, '').split('*');
condition = function condition(row) {
var unique = '_'; // 避免出现数字作为Key的情况会进行按照数字的排序
for (var i = 0, l = paramsCondition.length; i < l; i++) {
unique += row[paramsCondition[i]] && row[paramsCondition[i]].toString();
}
return unique;
};
}
var groups = groupBy(data, condition);
return groups;
};
module.exports = groupToMap;