uno-js
Version:
JS/TS common used functions, zero dependencies
25 lines (24 loc) • 670 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.aggregate = exports.groupBy = void 0;
const groupBy = (data, prop) => {
const result = {};
for (const item of data) {
const key = String(item[prop]);
if (!result[key]) {
result[key] = [];
}
result[key].push(item);
}
return result;
};
exports.groupBy = groupBy;
const aggregate = (data, prop, map) => {
const result = {};
const grouped = (0, exports.groupBy)(data, prop);
for (const key of Object.keys(grouped)) {
result[key] = map(grouped[key]);
}
return result;
};
exports.aggregate = aggregate;