因此,我使用 Azure Application Insights REST API 从我的 Web 应用程序获取数据,并将其构造成要在仪表板上显示的图表。
返回的json如下:
{
"value": {
"start": "2017-08-07T23:01:50.847Z",
"end": "2017-08-08T11:01:50.847Z",
"interval": "PT1H",
"segments": [
{
"start": "2017-08-07T23:01:50.847Z",
"end": "2017-08-08T00:00:00.000Z",
"requests/count": {
"sum": 317
}
},
{
"start": "2017-08-08T00:00:00.000Z",
"end": "2017-08-08T01:00:00.000Z",
"requests/count": {
"sum": 332
}
},
{
"start": "2017-08-08T01:00:00.000Z",
"end": "2017-08-08T02:00:00.000Z",
"requests/count": {
"sum": 337
}
},
{
"start": "2017-08-08T02:00:00.000Z",
"end": "2017-08-08T03:00:00.000Z",
"requests/count": {
"sum": 326
}
}
]
}
}
我需要获取“segments”中的“end”和“sum”值来构建一个像这样的数组,因为图表api 要求数组采用以下格式:
[
["2017-08-08T00:00:00.000Z", 317],
["2017-08-08T01:00:00.000Z", 332],
["2017-08-08T02:00:00.000Z", 337],
["2017-08-08T03:00:00.000Z", 326]
]
我怎样才能实现这个目标?
最佳答案
如果您更喜欢一些现代 JavaScript,您也可以执行以下操作:
// “res” is your API response
const newArray = res.value.segments.reduce((acc, val) => {
return [...acc, [val.end, val['requests/count'].sum]];
}, []);
详细了解reduce magic .
希望对你有帮助!
关于javascript - js/reactjs - 如何将数据从 json 重建为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45566681/