【发布时间】:2019-12-17 03:25:10
【问题描述】:
我的前端打字稿文件中有这个列表:
poMonths:
0: {id: 1, companyName: "company14", companyId: 14, flActive: true, purchaseMonth: "2019-12-15T00:00:00", purchaseMonthString: "Dec-2019" , year: 2019, month: "December"}
1: {id: 2, companyName: "company5", companyId: 5, flActive: true, purchaseMonth: "2019-12-15T00:00:00", …}
2: {id: 3, companyName: "company13", companyId: 13, flActive: true, purchaseMonth: "2019-11-15T00:00:00", …}
3: {id: 4, companyName: "company14", companyId: 14, flActive: true, purchaseMonth: "2019-11-15T00:00:00", …}
4: {id: 5, companyName: "company5", companyId: 5, flActive: true, purchaseMonth: "2019-10-15T00:00:00", …}
5: {id: 6, companyName: "company14", companyId: 14, flActive: true, purchaseMonth: "2020-09-15T00:00:00", …}
6: {id: 7, companyName: "company7", companyId: 7, flActive: true, purchaseMonth: "2020-09-15T00:00:00", …}
我想从中得到一个嵌套的树 json,按 compnayName 和 year 属性分组,类似于此,但采用 JSON 格式:
我找到了这段代码,但是它没有完全返回结果,需要稍微调整一下:
keys = [
'year',
'companyName'
];
groupBy() {
const drill = (o, key, ...keys) =>
key ? drill((o[key] = o[key] || {}), ...keys) : o;
const result = {};
for (const e of this.poMonths) {
const key = drill(
result,
e.companyName,
e.year,
e.month
);
}
return result;
}
我怎样才能让它工作?
【问题讨论】:
标签: javascript json typescript group-by javascript-objects