Как мне найти и заменить температуру по Фаренгейту на градусы Цельсия на JS? - PullRequest
2 голосов
/ 26 марта 2019

Я использовал darksky API, чтобы практиковать вызовы API и JS в целом, но я решил, что хотел бы улучшить его, чтобы показывать температуры как по Фаренгейту, так и по Цельсию, нажимая на них. API возвращает температуру, а также сводку о температуре. Чтобы изменить температурную часть, это было прямо, но как мне вообще начать с определения температуры по Фаренгейту в предложении и изменения только температуры по Цельсию?

Вот то, что API возвращает в виде сводки (или в качестве примера, так как существует много разных сводок).

Без осадков в течение недели, в четверг высокие температуры достигают 56 ° F.

Я могу изменить 56 ° F, когда мне только возвращают температуру, но я не могу понять, как изменить ее, когда она является частью предложения.

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

Спасибо.

1 Ответ

2 голосов
/ 26 марта 2019

Благодаря Александру, направившему меня в правильном направлении, мне удалось сделать это следующим образом:

celsiusCalc = Math.floor((summary.search(/(\d+) ?°/) - 32) * (5 / 9));
celsiusSummary = summary.replace(/(\d+) ?°[F]/, celsiusCalc + "°C");
temperatureDescription.textContent = celsiusSummary;

Чтобы применить это к вашей проблеме, измените сводку для строки, в которой вы хотите изменить температуруи измените температурное описание на div, в которое вы хотите поместить новый текст в градусах Цельсия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...