为什么我不能访问我的JS对象属性?

时间:2018-09-24 13:43:27

标签: javascript json angular d3.js jsobject

我正在尝试从REST Api重新格式化JSON数据,以便使用d3显示数据。 d3代码位于角度组件内,但我认为问题与javascript有关。 我要使用的模板在这里:https://bl.ocks.org/mbostock/3884955

我获得的数据被格式化为对象数组(我只想打印第一个对象),其格式如下:

{"time":["2018-09-17T12:44:16.985Z","2018-09-17T12:44:17.982Z"],
    "counts":[
            [3539.8,3539.4],
            Arr(2),
            Arr(2),
            Arr(2),
            Arr(2)
    ]
}

->五个测量点,每个测量点有两个(在此示例中)

这是d3码期望数据的方式:

(local var) data: {
id: string;
values: {
    date: any;
    count: any;
}[];

我试图实现的代码:

   var keys_all=d3.keys(data[0].counts);
   var measurementData = keys_all.map(function(id) {
   return {
    id: id.toString(),
    values: data[0].counts[id].map(function(d,i) {
      return {date: data[0].time[i], count: d};
    })
   };
   });  

当我console.log()时,结果正是我所期望的。但是我无法在下面的代码中访问属性“日期”和“时间”。

当我将鼠标悬停在结果变量上时,VS Code仅显示:

(local var) data: {
id: string;
values: any;
}[]

我还尝试记录字符串化的对象,这也很好。

有什么想法会出问题吗?

0 个答案:

没有答案