【发布时间】:2021-05-30 02:37:30
【问题描述】:
我正在使用 React.js 开发 Covid-19 仪表板,请我想通过使用 ES6 或 lodash 或其他合适方法的 Disease.sh API 调用 https://disease.sh/v3/covid-19/historical/ng%2C%20za%2C?lastdays=2:to 简化嵌套数组
来自:
[
{
"country": "Nigeria",
"province": [
"mainland"
],
"timeline": {
"cases": {
"2/26/21": 155076,
"2/27/21": 155417
},
"deaths": {
"2/26/21": 1902,
"2/27/21": 1905
},
"recovered": {
"2/26/21": 132544,
"2/27/21": 133256
}
}
},
{
"country": "South Africa",
"province": [
"mainland"
],
"timeline": {
"cases": {
"2/26/21": 1510778,
"2/27/21": 1512225
},
"deaths": {
"2/26/21": 49784,
"2/27/21": 49941
},
"recovered": {
"2/26/21": 1426417,
"2/27/21": 1429047
}
}
},
null
]
到简单数组:
[
{
"country": "Nigeria",
"date": "2/26/21",
"cases": 155076,
"deaths": 1902,
"recovered": 132544
},
{
"country": "Nigeria",
"date": "2/27/21",
"cases": 155417,
"deaths": 1905,
"recovered": 133256
},
{
"country": "South Africa",
"date": "2/26/21",
"cases": 1510778,
"deaths": 49784,
"recovered": 1426417
},
{
"country": "South Africa",
"date": "2/27/21",
"cases": 1512225,
"deaths": 49941,
"recovered": 1429047
}
]
我要重现赛车图:https://www.infragistics.com/react-apps/covid-dashboard
这是我目前失败的尝试:
const fetchData = async () => {
const res = await axios(
'https://disease.sh/v3/covid-19/historical?lastdays=30'
);
const temp_data = res.data;
const data = temp_data.map((country) => ({
country: country.country,
date: Object.keys(country.timeline.cases),
cases: Object.values(country.timeline.cases),
deaths: Object.values(country.timeline.deaths),
recovered: Object.values(country.timeline.recovered),
}));
console.log(data);
};
useEffect(() => {
fetchData();
}, []);
【问题讨论】:
标签: javascript reactjs ecmascript-6 lodash underscore.js