Пожалуйста, проверьте, если вы можете помочь кому-либо.Я работал над моим погодным приложением, которое я строю на React, используя axios с openweathermap.org , и я немного застрял, чтобы получить данные так, как мне нужно.Я использую его 5-дневный прогноз.Он дает вам отчет с прогнозом каждые 3 часа в течение 5 дней. Он дает вам 40 отчетов за 5 дней.таким образом, вы получаете 8 отчетов за 3 дня между текущим и пятым, а остальные - исходя из того, сколько времени осталось на текущий день.Это ответ API для отчета: report .Таким образом, вы получите это как ответ:
{
"data": {
"cod": "200",
"message": 0.0062,
"cnt": 39,
"list": [
{
"dt": 1540177200,
"main": {
"temp": 24.55,
"temp_min": 20.88,
"temp_max": 24.55,
"pressure": 1008.67,
"sea_level": 1025.96,
"grnd_level": 1008.67,
"humidity": 58,
"temp_kf": 3.67
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "02d"
}
],
"clouds": {
"all": 8
},
"wind": {
"speed": 3.82,
"deg": 340.5
},
"sys": {
"pod": "d"
},
"dt_txt": "2018-10-22 03:00:00"
},
{
"dt": 1540188000,
"main": {
...
},
},
{
"dt": 1540198800,
"main": {
...
},
},
{
"dt": 1540587600,
"main": {
. . .
}
}
]
}
Я просто суммировал это. Я просто вставил все данные для первого элемента, а для остальных я вставил ... и это длинный массивс 40 предметов.Каждый из них имеет уникальную метку времени даты, которая в начале обозначается как «dt».Мне нужно получить 5 массивов на основе определенного дня.для этого я подумал о преобразовании метки времени (dt), а затем получить все элементы, которые приводят к одному и тому же «дню».Преобразуйте метку времени следующим образом (используя forEach для всех элементов):
let day ='';
day = new Date(dt *1000);
day = day.getDate();
При получении преобразованного массива возникают две проблемы:
- Я снова получаю один большой массив с 40 элементамино мне нужно 5 массивов, основанных на дате, чтобы у меня был отчет за каждый день отдельно
- Во-вторых, я теряю точку в метке времени.Мне нужно сохранить это, чтобы я мог показать прогноз погоды в моем приложении.
Я хочу показать информацию, основанную на этой отметке времени, в течение 5 дней отдельно.
Спасибо за вашу помощь и идеи всем.