尝试解决特定字符串和布尔值的If / else问题

时间:2019-10-30 19:55:50

标签: javascript if-statement

问题

我尝试了多种途径并观看了视频。我被困住了...

function exerciseThree(typeOfPizza){
  let lovesPizza;
  // In this exercise, you will be given a variable, it will be called: typeOfPizza
  // You are also given another variable called: lovesPizza;
  // Using an if/else statement assign lovesPizza to true if typeOfPizza is 'pepperoni', assign it to false if it is 'olives'

我尝试过的:

if (lovesPizza==='pepperoni') {
    // The value is empty.
    return true;
}
else {
    (lovesPizza==='olives')
    return false;
}

另一种尝试

 // if(lovesPizza===pepperoni){
  //  return true
  //}
  //else (lovesPizza===olives){
  //  return false
//  }

另一个

  //if (lovesPizza.equals(pepperoni))
    //  return "true";
  //else (lovesPizza.equals(olives))
    //  return "false"

4 个答案:

答案 0 :(得分:0)

正如评论所说,您正在寻找if / else。您还应该仔细检查问题的阅读方式,以错误的方式检查/分配变量

    function exerciseThree(typeOfPizza){
        let lovesPizza;

        if (typeOfPizza === 'pepperoni') {
            lovesPizza = true;
        } else if (typeOfPizza === 'olives') {
            lovesPizza = false;
        }

        console.log('lovesPizza:', lovesPizza);
    };
    
    exerciseThree('pepperoni');
    exerciseThree('olives');
    

答案 1 :(得分:0)

在这种情况下,我强烈建议使用switch语句。我认为Switch语句运行得更快,并且更易于使用。

但是要指出您做错了什么

在这里,您正在检查lovesPizza是否具有意大利辣香肠的价值。但是您应该检查typeOfPizza。这就是为什么您最有可能变得不确定的原因:

if (lovesPizza==='pepperoni') {
    // The value is empty.
    return true;
}
else {
    (lovesPizza==='olives')
    return false;
}

使用switch语句查看外观。

function exerciseThree(typeOfPizza) {
     switch (typeOfPizza) {
      case 'pepperoni':
       return true;
      case 'olives':
       return false;
      default:
       return false;
     }
   }
   exerciseThree('pepperoni');
   exerciseThree('olives');
    

答案 2 :(得分:0)

您的else语句需要一个if

if(somethingisTrue)
  {
   return "it is true";
  }
else if(somethingelseistrue)
  {
    return "no the other thing was true";
   }
else
  {
    return "nothing is true"
  }

也===检查字符串是否相等,并且都是字符串。通常最好确保if是否区分大小写

if(!typeOfPizza)
    {
       //raise an error as null was passed in
       return "false"
    }
 else if(typeOfPizza.toLowerCase().trim()==="pepperoni"){
    {
      return true..... you can build the rest

我经常编写一个称为cleanString或compareString的函数(原型)来执行所有正常的字符串清理。

一个简单的解决方案是但不按要求使用ifs。

function exerciseThree(typeOfPizza){
    let lovesPizza= typeOfPizza==="pepperoni";
    return lovesPizza;
  }

答案 3 :(得分:-1)

我当然希望你的老师在骗你。 没有理智的建议,如果您将“火腿”发送给它,而不能处理所有可能性只是草率的话。

let lovesPizza;

function exerciseThree(typeOfPizza){
  if(typeOfPizza === 'pepperoni') {
    return true;
  } else if (typeOfPizza === 'olives') {
    return false;
  } else {
    return undefined;
  }
}

lovesPizza = exerciseThree('pepperoni');
console.log(lovesPizza); // true
lovesPizza = exerciseThree('olives');
console.log(lovesPizza); // false
lovesPizza = exerciseThree('ham');
console.log(lovesPizza); // undefined