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

Print a string in console.log instead of a number

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

}

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

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

}

我记录 listNumber 只是为了防止我没有记录 FizzBuzzFizzBuzz.

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

}