почему не "||" (или) работать в моей функции javascript? - PullRequest
2 голосов
/ 18 июня 2020

Я пытаюсь написать код, чтобы, если бы мне дали 2 числа, которые представляют мой день рождения (месяц = ​​11, день = 3), он записал бы «как вы узнали». все остальное вернет "Just Another Day". Также необходимо, чтобы порядок месяца и дня не имел значения.

Я написал это как:

function birthday (month,day){
  let result;
  if( month == "11" && day == "3") || (day == "3" && month = "11"){
      result = "How did you know?";
     }
      else {
       result = "Just Another Day";
      }
  return result;
}

console.log(birthday(3, 11));

, но он возвращается и сообщает мне || (или) - это неожиданный токен ... Как еще я мог это написать?

Ответы [ 3 ]

1 голос
/ 18 июня 2020

У вас есть два условия по обе стороны от оператора ||, которые говорят одно и то же. Во втором условии вам необходимо проверить, равно ли день 11 и месяц 3. Кроме того, у вас есть оператор = в последнем сравнении вместо ==:

if ((month == "11" && day == "3") || (month == "3" && day == "11")) {
0 голосов
/ 18 июня 2020

Я изменяю ваш код, последний символ сравнения (==) был неправильным, это был символ присвоения (=), и вы дважды сравниваете день и месяц, теперь ваш код работает нормально!

function birthday (month, day){
  let result = "";

  if(( month == "11" && day == "3") || (month == "3" && day == "11")){
      result = "How did you know?";
     }
      else {
       result = "Just Another Day";
      }
  return result;
}

console.log(birthday(3, 11));
0 голосов
/ 18 июня 2020

Вы должны добавить "(" после if и добавить ")" после (day == "3" && month == "11"). Также измените оператор = при последнем сравнении на == и измените последнее сравнение с (day == "3" && month == "11") на (month == "3" && day == "11"). Измените свой код на этот код:

function birthday (month,day){
      let result;
      if( (month == "11" && day == "3") || (month == "3" && day == "11")){
          result = "How did you know?";
         }
          else {
           result = "Just Another Day";
          }
      return result;
    }
    
    console.log(birthday(3, 11));
...