我正在尝试从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;
}[]
我还尝试记录字符串化的对象,这也很好。
有什么想法会出问题吗?