【问题标题】:Print a string in console.log instead of a number在 console.log 中打印字符串而不是数字
【发布时间】:2021-03-23 13:26:52
【问题描述】:

我想在console.log 中打印字符串:“Fizz”、“Buzz”和“FizzBu​​zz”,而不是它们引用的数字。关键是直到现在我可以得到数字和字符串,但我不知道如何用字符串克服数字值。例如,下面代码的console.log 应该是1 2 Fizz 而不是1 2 3 Fizz

//Define listNumber
var listNumber;

//Generate numers from 1 to 100
for (i = 1; i <= 100; i++) {
  listNumber = i;
  console.log(listNumber);

  if ((listNumber % 3 == 0) && (listNumber % 5 == 0)) {
    console.log('FizzBuzz');
  } else if (listNumber % 3 == 0) {
    console.log('Fizz');
  } else if (listNumber % 5 == 0) {
    console.log('Buzz');
  }

}

【问题讨论】:

    标签: javascript console.log fizzbuzz


    【解决方案1】:

    在进行检查之前记录初始值。只需将它移到评估的末尾,这样如果它既不是 FizzBuzzFizzBuzz,它就会打印实际数字。

    //Define listNumber
    var listNumber;
    
    //Generate numers from 1 to 100
    for (i = 1; i <= 100; i++) {
      listNumber = i;
    
    
      if ((listNumber % 3 == 0) && (listNumber % 5 == 0)) {
        console.log('FizzBuzz');
      } else if (listNumber % 3 == 0) {
        console.log('Fizz');
      } else if (listNumber % 5 == 0) {
        console.log('Buzz');
      } else {
        console.log(listNumber);
      }
    
    }

    【讨论】:

      【解决方案2】:

      类似这样的:

      //Define listNumber
      var listNumber;
      
      //Generate numers from 1 to 100
      for (i = 1; i <= 100; i++) {
        listNumber = i;
      
        if ((listNumber % 3 == 0) && (listNumber % 5 == 0)) {
          console.log('FizzBuzz');
        } else if (listNumber % 3 == 0) {
          console.log('Fizz');
        } else if (listNumber % 5 == 0) {
          console.log('Buzz');
        } else console.log(listNumber);
      
      }

      我只在没有登录FizzBuzzFizzBuzz 的情况下登录listNumber

      【讨论】:

        【解决方案3】:

        在 for 循环中,您正在打印当前 i。 如果您希望代码正常工作,您可以向其中添加 else 语句,这样它只会记录一次。

        var listNumber;
        
        //Generate numers from 1 to 100
        for (i = 1; i <= 100; i++) {
          listNumber = i;
          if ((listNumber % 3 == 0) && (listNumber % 5 == 0)) {
           console.log('FizzBuzz');
          } else if (listNumber % 3 == 0) {
           console.log('Fizz');
          } else if (listNumber % 5 == 0) {
           console.log('Buzz');
          }
          else{
           console.log(listNumber);
         }
        }
        

        【讨论】:

          【解决方案4】:

          您可以在条件结构中使用else 语句。这样,只有在所有条件都为 false 时才会打印数字。

          for (i = 1; i <= 100; i++) {
            listNumber = i;
          
            if ((listNumber % 3 == 0) && (listNumber % 5 == 0)) {
              console.log('FizzBuzz');
            } else if (listNumber % 3 == 0) {
              console.log('Fizz');
            } else if (listNumber % 5 == 0) {
              console.log('Buzz');
            } else {
              console.log(listNumber);
            }
          }
          

          【讨论】:

            【解决方案5】:

            我认为这就是您正在寻找的。而不是每次在 for 循环中打印 listNumber 在 if else 子句中放置一个额外的 else 并仅在其未打印“Fizz(/&)Buzz”时打印

            //Define listNumber
            var listNumber;
            
            //Generate numers from 1 to 100
            for (i = 1; i <= 100; i++) {
              listNumber = i;
              
            
              if ((listNumber % 3 == 0) && (listNumber % 5 == 0)) {
                console.log('FizzBuzz');
              } else if (listNumber % 3 == 0) {
                console.log('Fizz');
              } else if (listNumber % 5 == 0) {
                console.log('Buzz');
              }
              else {
              console.log(listNumber);
              }
            
            }

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2017-09-16
              • 2016-05-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-09-27
              • 1970-01-01
              相关资源
              最近更新 更多