Путь к молоку

Прошу Вас дать свою оценку моему коду. Спасибо

@Verdan, код неправильный. в 14 часов вы отправляетесь на рынок, а должны на завод.
проще было бы написать код с использованием else if, просто указав часы работы, без придумывания интервалов (потому что с верными интервалами можно вообще обойтись без условий).

@GreenLera, доброго времени суток! Нашел багулю в проверке к этому заданию, такой код распознается неверным:

var time = 14;
var goToDairy = time >= 8 && time < 13 || time >= 14 && time < 19;
var goToStore = time >= 13 && time < 14;
var goToMarket = time >= 7 && time < 8 || time >= 19 && time < 20;
1 лайк

У меня почти как у вас получился, только чуть попроще. Зачем у вас пойдёт на дальний рынок с 13 до 15, если будет работать либо молокозавод в это время, либо магазин, они же ближе?
if (time>=7 && time<8 || time >= 19 && time<=20) {
goToMarket=true;
} else if ( time>= 8 && time < 13 || time >= 14 && time < 19 ) {
goToDairy=true;
} else if ( time >= 13 && time < 14 ) {
goToStore=true;
}

if((time >= 8 && time < 13) || (time < 19 && time > 14)){
goToDairy = true;
}else if ((time >= 9 && time < 14) || (time < 15 && time > 17)){
goToStore = true;
}else if(time >= 7 && time <= 20) {
goToMarket = true;
}

У меня получилось так:
var time = 15;
var goToDairy = false;
var goToStore = false;
var goToMarket = false;

if (time>=8 && time<13 || time>14 && time<19){goToDairy=true}
if (time>=13 && time<=14){goToStore=true}
else if (time>=7 && time<8 || time>=19 && time<=20){goToMarket=true}

Всё работает.

if((time>=8 && time<13)||(time>=14 && time<19)){
goToDairy = true;
}
else if((time>=9 && time<14)||(time>=15 && time<17)){
goToStore = true;
}
else if(time>=7 && time<20){
goToMarket = true;
}

Вот мой код он проходит проверку
Думаю что его можно укоротить.

if ((time >= 8 && time < 13) || (time >= 14 && time < 19)) {
goToDairy = true;
goToStore = false;
goToMarket = false;
} else if (time >= 13 && time < 14) {
goToDairy = false;
goToStore = true;
goToMarket = false;
} else if ((time >= 7 && time < 8) || (time >= 19 && time < 20)) {
goToDairy = false;
goToStore = false;
goToMarket = true;
} else {
goToDairy = false;
goToStore = false;
goToMarket = false;
}

Такой код у меня получился.

let time = 15;

let goToDairy = false;
let goToStore = false;
let goToMarket = false;

if (time < 7 || time >= 20) {goToDairy; goToStore; goToMarket}
else if ((time >= 8 && time < 13) || (time >= 14 && time < 19)) {goToDairy = true}
else if ((time >= 9 && time < 14) || (time >= 15 && time < 17)) {goToStore = true;}
else if (time >= 7 && time < 20) {goToMarket = true;}

let time = 15;

let goToDairy = false;
let goToStore = false;
let goToMarket = false;

if (time >= 8 && time < 13 || time >= 14 && time < 19) {
  goToDairy = true
  } else if (time >= 9 && time < 14 || time >= 15 && time < 17) {
    goToStore = true;
    } else if (time >= 7 && time < 20) {
      goToMarket = true;
      }

Условный оператор „?“

let time = 15;

let goToDairy = false;
let goToStore = false;
let goToMarket = false;

(time >= 8 && time < 13 || time >= 14 && time < 19) ? goToDairy = true : 
(time >= 9 && time < 14 || time >= 15 && time < 17) ? goToStore = true : 
(time >= 7 && time < 20 ) ? goToMarket = true : false;

у меня так

let time = 15;

let goToDairy = false;
let goToStore = false;
let goToMarket = false;

let shop = function () {
  if ((time >= 8 && time < 13) || (time > 14 && time < 19)) {
   goToDairy = true; 
   return;
  }

if (time >= 13 && time < 14) {
    goToStore = true;
    return;
    }
    
if (time >= 7 && time < 20) {
goToMarket = true;
return;
}
};

shop();