首页 > 解决方案 > 如何以我需要的形式获取数据?

问题描述

ts:

  hours: Hour[];
  pieChart = [];

  load() {
    this._hoursService.fetch(this.user).subscribe((hours: Hour[]) => {
      this.hours = hours
      this.pieChart = [{
        name: hours.map(item => item.activity),
        y: hours.map(item => item.hours)
      }]
    console.log(this.pieChart)
    }, error => {
      console.log(error)
    })
  }

我最终得到这样的 json 结果:

[{…}]
  0:
   name: (4) ["Tasks", "Meeting", "Mail", "Calls"]
   y: (4) [79, 12, 7, 2]

为了让数据开始显示在图表中,结果应该是这样的:

[{
   name: 'Tasks',
   y: 79
}, {
   name: 'Meeting',
   y: 12
},
...]

怎么做?

小时:

(4) [{…}, {…}, {…}, {…}]
    0: {id: 1, activity: "Tasks", hours: 79, user: 1}
    1: {id: 2, activity: "Meeting", hours: 12, user: 1}
    2: {id: 3, activity: "Mail", hours: 7, user: 1}
    3: {id: 4, activity: "Calls", hours: 2, user: 1}

标签: jsonangular

解决方案


像这样 :

this.pieChart = hours.map(hour => ({name : hour.acitivty , y : hour.hours}) )

推荐阅读