Я хочу получить минимальную и максимальную температуру, но только для каждой даты в массиве объектов - PullRequest
0 голосов
/ 11 апреля 2019

Я использую API openweathermap для получения 5-дневного 3-часового прогноза. Но я не хочу получать данные за каждые 3 часа. Просто максимальная и минимальная температура для каждого дня рендеринга.

Мне удалось использовать карту для отображения массива объектов, показывающих минимальную и максимальную температуры относительно даты. Но я хочу свести это к одному результату в день с отображением минимума и максимума.

componentDidMount() {
        const apiKey = secrets.apiKey;
        axios
            .get(
                `https://api.openweathermap.org/data/2.5/weather?q=berlin&APPID=${apiKey}&units=metric`
            )
            .then(data => {
                console.log("Current", data.data);
                this.setState({
                    result: data.data
                });
            })
            .catch(err => {
                console.log("err in api get", err);
            });
        axios
            .get(
                `https://api.openweathermap.org/data/2.5/forecast?q=berlin&APPID=${apiKey}&units=metric`
            )
            .then(data => {
                console.log("Forecast", data.data);
                this.setState({
                    forecast: data.data
                });
            })
            .catch(err => {
                console.log("err in api get", err);
            });
    }
    render() {
        if (!this.state.forecast) {
            return null;
        } else {
            const allDays = this.state.forecast.list;
            const newArr = allDays.map(forecast => {
                const container = {};
                container.date = forecast.dt_txt.slice(0, 10);
                container.temp_max = forecast.main.temp_max;
                container.temp_min = forecast.main.temp_min;
                return container;
            });
            console.log("newArr", newArr);

        }

        return (
            <div>
                <Current weather={this.state.result} />
            </div>
        );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...