【问题标题】:Print a string in console.log instead of a number在 console.log 中打印字符串而不是数字
【发布时间】:2021-03-23 13:26:52
【问题描述】:
我想在console.log 中打印字符串:“Fizz”、“Buzz”和“FizzBuzz”,而不是它们引用的数字。关键是直到现在我可以得到数字和字符串,但我不知道如何用字符串克服数字值。例如,下面代码的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】:
在进行检查之前记录初始值。只需将它移到评估的末尾,这样如果它既不是 Fizz、Buzz 或 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);
}
}
【解决方案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);
}
我只在没有登录FizzBuzz、Fizz 或Buzz 的情况下登录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);
}
}