我试图使用Observable从我的应用程序中提取我的每日工作时间,并将这些数据作为数组处理,但是现在我以JSON格式获取了此数据。
calculation.service.ts:
items: { [key: string]: IItem } = {};
private update = new Subject<void>();
getDailyHours(): Observable<{ [key: string]: string }> {
return this.update
.map(() =>
_.chain(this.items)
.values()
.groupBy("date") //date is of type string
.mapValues(items => this.timeService.format(_.sumBy(items, "spent")))
.value()
)
.distinctUntilChanged(_.isEqual);
}
overview.component.ts
dailyHours: { [key: string]: string } = {};
ngOnInit(){
this.calculationService.getDailyHours().subscribe(s => {
this.dailyHours = s;
console.log(this.dailyHours);
});
}
getHours(date: string) {
const sum = this.dailyHours[date];
return sum === "0m" ? "" : sum;
}
dailyHours像这样在控制台中打印:
{08.04.2018: "0m", 09.04.2018: "0m", 10.04.2018: "0m", 11.04.2018: "0m", 12.04.2018: "0m", …}
这给定动态数据时很难解析我的数据。(fx:如果我一周前返回,我的json将具有不同的键值“ 01.04.2018”,...“ 07.04.2018”)
如何修改可观察对象以输出数组而不是JSON?