在 console.log 中打印字符串而不是数字

问题描述

我想在 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');
  }

}

解决方法

在检查之前记录初始值。只需将其移动到计算的末尾,如果它既不是 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);
  }

}

,

像这样:

//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);

}

我仅在未登录 listNumberFizzBuzzFizz 的情况下才登录 Buzz

,

在 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);
 }
}
,

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

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);
  }
}
,

我想这就是你要找的。而不是每次在 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);
  }

}