【发布时间】:2021-04-12 12:07:31
【问题描述】:
我正在尝试制作将呈现从 API 获取的数据的图表组件。 响应数据是一个包含 JSON 对象的等长数组。示例:
[[{ts:"2021-04-11 12:36:23", v:6}, {ts:"2021-04-11 12:38:23", v:8}, ...], [{ts:"2021-04-11 12:36:23", v:2}, {ts:"2021-04-11 12:38:23", v:7}, ...], ...]
一个列表中对象的时间戳将始终与其他列表中对象的时间戳相对应。
图表组件需要一个 n 元素数组的数组,其中包含一个 ts 值和 n 个其他值,其中 n 是响应数组的长度。如果响应数组的长度为 2,则结果列表应如下所示:
[["2021-04-11 12:36:23", 6, 8], ["2021-04-11 12:38:23", 2, 7], ...]
我的问题是提取这个数组。我试图解构响应数组以将它们转换为单独的变量,而这些变量又可以通过 foreach 进行迭代。我没能成功。
这是我目前的“解决方案”:
response = [[{ts:"2021-04-11 12:36:23", v:6}, {ts:"2021-04-11 12:38:23", v:8}], [{ts:"2021-04-11 12:36:23", v:2}, {ts:"2021-04-11 12:38:23", v:7}]]
response[0].map((e, i) => {
const arr = [];
date = new Date(e["ts"]);
arr.push(date);
arr.push(e["v"]);
arr.push(response[1][i]["v"]);
return arr
;})
这并没有考虑到响应数组的长度可能不是 2。
【问题讨论】:
标签: javascript arrays json