【问题标题】:Else/If Loop JavaScript否则/如果循环 JavaScript
【发布时间】:2017-09-16 03:55:16
【问题描述】:

我对这一切真的很陌生,而且我正在课堂上学习。我的任务是编写一个显示 1-100 的 Else/If 循环。如果整数能被 3 整除,则显示“play”,如果能被 4 整除,则显示“ball”,如果能被 3 和 4 整除,则显示“Play Ball”,其他都只是整数。 我的代码在这里工作,但我无法让我的 3 和 4 显示“Play Ball”,除非我自己运行它。希望这是有道理的,这就是我所拥有的:

for (var i = 1; i <= 100; i++) {

  if (i % 3 === 0) {
    console.log('Play');
  } else if (i % 4 === 0) {
    console.log('Ball');
  } else if (i % 3 === 0 && i % 4 === 0) {
    console.log('Play Ball');
  } else {
    console.log(i);
  }
}

【问题讨论】:

  • 先检查你的AND条件!
  • 嘶嘶声再次来袭!
  • 注意条件的顺序。如果 i % 3,我们记录“播放”,我们就完成了。如果 i % 4,我们记录“Ball”,我们就完成了。

标签: javascript loops if-statement


【解决方案1】:

您只需要将这个i % 3 === 0 &amp;&amp; i % 4 === 0 条件移到顶部:

for (var i = 1; i <= 100; i++) {

  if (i % 3 === 0 && i % 4 === 0) {
    console.log('Play Ball');
  } else if (i % 3 === 0) {
    console.log('Play');
  } else if (i % 4 === 0) {
    console.log('Ball');
  } else  {
    console.log(i);
  }
}

【讨论】:

    【解决方案2】:

    因为当第三个语句(带有 &&)为真时,第一个 if 语句总是为真,所以你永远不会到达第三个语句。尝试重新排序:

    for (var i = 1; i <= 100; i++) {
    
          if (i % 3 === 0 && i % 4 === 0) {
            console.log('Play Ball');
          } else if (i % 4 === 0) {
            console.log('Ball');
          } else if (i % 3 === 0) {
            console.log('Play');
          } else {
            console.log(i);
          }
    
    }
    

    【讨论】:

    • 当数字可以被 3 和 4 整除时,他们需要“打球”!
    【解决方案3】:

    您可以将可被 3 和 4 整除的检查移到顶部:

    for (var i = 1; i <= 100; i++) {
      if (i % 3 === 0 && i % 4 === 0) {
         console.log('Play Ball');
      } else if (i % 3 === 0) {
         console.log('Play');
      } else if (i % 4 === 0) {
        console.log('Ball');
      } else {
        console.log(i);
      }
    }
    

    【讨论】:

      【解决方案4】:

      3 和 4 显示

      上述语句的意思是,当 BOTH 条件满足时,只需要执行一些任务。在这种情况下你需要使用&amp;&amp;

         if ( (i % 3 === 0) && (i % 4 === 0) ) {
          console.log('Play Ball');
        }
      

      何时使用else 和/或else if

      举个例子,你有一个不能被 3 和 4 整除的数字,你并不关心这个数字。然后,您只需使用else 将所有这些类别都归入其中。

      现在,还有另一种情况,当您输入数字时,它又不能被 3 和 4 整除。但是,您可能想看看它是否只能被 3 或 4 整除。然后,您使用else if你可以把条件放在哪里检查。

         if ( (i % 3 === 0) && (i % 4 === 0) ) {
          console.log('Play Ball');
        }
         else if ( i % 3 === 0) {
          console.log('Play');
        }
         else if ( i % 4 === 0) {
          console.log('Ball');
        }
      

      【讨论】:

      • @downvoter 如果我遗漏了什么,我一定会努力改进我的答案。
      猜你喜欢
      • 1970-01-01
      • 2017-11-22
      • 2016-08-26
      • 2012-01-26
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多