如何以数组格式而不是json格式发送数据(从可观察到的)

时间:2019-04-12 12:24:48

标签: angular observable lodash

我试图使用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?

0 个答案:

没有答案