Длительные прогулки

Длительные прогулки (Программирование на JavaScript - Условия - Практика)

let temperature = 20;
let itsRaining = false;
let minutes;

if (itsRaining || temperature < 0 || temperature > 35)
  minutes = 0
else if (temperature === 20)
  minutes = 20
else {
  if (temperature > 20)
  minutes = temperature - ((temperature - 20) * 2)
  else 
  minutes = temperature
}

У меня получилось два варианта, второй через else if который еще не затрагивали.

if (!isRaining && 10 <= temperature && 15 > temperature) {minutes = 30}
if (!isRaining && 15 <= temperature && 25 > temperature) {minutes = 40}
if (!isRaining && 25 <= temperature && 35 >= temperature) {minutes = 20}
if (temperature < 10 || temperature > 35 || isRaining) {minutes = 0}

if (isRaining) {minutes = 0}
else if (10 <= temperature && 15 > temperature) {minutes = 30}
else if (15 <= temperature && 25 > temperature) {minutes = 40}
else if (25 <= temperature && 35 >= temperature) {minutes = 20}
else {minutes = 0}

Оба рабочие и проходят проверку.

В твоем варианте не учитывается температура включительно, и itsRaining = false, так что условное ветвление не выполнится с && (который там должен быть, поскольку все условия должны соответствовать для прогулки). + пропущены фигурные скобки и ;. Ну и условные ветвления внутри else как-то запутанно выглядят, учитывая что else обычно используется вообще без условия как исключающее предыдущие if /else if.

   if (!itsRaining && temperature >= 0 && temperature <= 35) {
      if (temperature < 20) {
        minutes = 20 - (20 - temperature);
      }
      else if (temperature == 20) {
        minutes = 20;
      }
      else {
        minutes = 20 - (temperature - 20);
      }
    } else {
      minutes = 0;
    }