口若悬河的Javascript嘶嘶作响
我目前正在使用有说服力的javascript 我试着去做fizzbuzz任务,当我不得不打印可被3和5整除的数字时,我很挣扎 任务和我的解决方案如下 干杯 任务:口若悬河的Javascript嘶嘶作响,javascript,Javascript,我目前正在使用有说服力的javascript 我试着去做fizzbuzz任务,当我不得不打印可被3和5整除的数字时,我很挣扎 任务和我的解决方案如下 干杯 任务: for(i=1; i<101; i++) { if(i % 3 === 0) { console.log("Fizz"); } else if(i % 5 === 0) { console.log("Buzz"); } else if (i % 3 === 0 &&
for(i=1; i<101; i++) {
if(i % 3 === 0) {
console.log("Fizz");
} else if(i % 5 === 0) {
console.log("Buzz");
} else if (i % 3 === 0 && i % 5 === 0){
console.log("FizzBuzz");
} else {
console.log("What should this be?");
}
}
编写一个程序,使用console.log打印1中的所有数字
到100,有两个例外。对于可被3整除的数字,请打印“Fizz”
对于可被5整除(而不是3整除)的数字,请打印
而是“嗡嗡”声。
当你有工作,修改你的程序打印“FizzBuzz”,
对于同时可被3和5整除的数字(仍打印“Fizz”或
“嗡嗡声”表示只能被其中一个整除的数字)。
(这实际上是一个必须回答的面试问题
我的解决方案:
for(i=1; i<101; i++) {
if(i % 3 === 0) {
console.log("Fizz");
} else if(i % 5 === 0) {
console.log("Buzz");
} else if (i % 3 === 0 && i % 5 === 0){
console.log("FizzBuzz");
} else {
console.log("What should this be?");
}
}
for(i=1;i您的条件顺序错误:
for(i=1; i<101; i++) {
if (i % 3 === 0 && i % 5 === 0){
console.log("FizzBuzz");
} else if(i % 3 === 0) {
console.log("Fizz");
} else if(i % 5 === 0) {
console.log("Buzz");
} else {
console.log("What should this be?");
}
}
for(i=1;i如果(i%3==0&&i%5==0)
您的代码永远不会到达else中的块,因为if(i%3==0)
或else if(i%5==0)
首先是真的
这里可能有一个更简单的方法来思考这个问题:
for (var i = 1; i <= 100; i++) {
var message = "";
if (i % 3 === 0) {
message = "Fizz"
}
if (i % 5 === 0) {
message += "Buzz";
}
console.log(message || i);
}
for(var i=1;i使用以下代码
for(i=1; i<101; i++) {
if (i % 3 === 0 && i % 5 === 0){
console.log("FizzBuzz");
};
if(i % 3 === 0) {
console.log("Fizz");
} else if(i % 5 === 0) {
console.log("Buzz");
} else {
console.log(i);
}
}
(i=1;i
(i=1;i<101;i++)的{
var结果=”;
如果(i%3==0){result+=“Fizz”;}
如果(i%5==0){result+=“Buzz”;}
console.log(结果| | i);
}
注意:请不要在生产代码中执行此操作
您甚至可以使用ES6单行程序(为了“清晰起见”在多行程序中断开)
console.log(
[…数组(100).keys()
.map(i=>(i%3==0&&i%5==0)
“嘶嘶作响”
:(i%3==0)
“嘶嘶声”
:(i%5==0)
“嗡嗡声”
:i)
.join(“\n”)
);
函数PrintFizzBuzz(){
对于(i=1;i这是我的答案:
for(设i=1;i附加到输出字符串的FizzBuzz解决方案很有说服力,但有点不灵活(例如,如果问题更改为需要不同的输出)
此解决方案避免附加,并使用嵌套的速记条件以简化:
for(let i=1; i <= 100; i++){
let str =
i%3 === 0 && i%5 === 0 ? "FizzBuzz" :
i%3 === 0 ? "Fizz" :
i%5 === 0 ? "Buzz" :
i;
console.log(str);
}
for(设i=1;i
var nums=[];
var指数=0;
var x=0;
而(nums.length简洁、实用且快速。我不确定它是否比这更雄辩
const oneToOneHundred=Array.from({length:100},(u,i)=>i+1);
常数fizzBuzz=(n)=>{
如果(n%15==0)返回'FizzBuzz';
如果(n%3==0)返回'Fizz';
如果(n%5==0)返回“嗡嗡声”;
返回n;
};
console.log(oneToOneHundred.map((i)=>fizzBuzz(i)).join('\n'));
for(让i=1;iI不能正常工作,对于可被3和5整除的数字,它只打印fizzBuzz\nFizz
(对于只能被其中一个整除的数字,仍然打印“Fizz”或“Buzz”)OP想让Fizz打印这就是为什么它要打印它。我不知道为什么在书中,这里这个答案是首选的(i=1;i可能重复我喜欢这种ES6方式,而不是使用for-statement。只有在您确实不喜欢下一位开发人员阅读您的代码时才这样做…:S@grayedfox是的,我从来不会在生产代码中推荐这个!
for (let i=1;i<=100; i++) {
if ((i%5 === 0) && (i%3 === 0)) {
console.log("FizzBuzz") }
else if (i%3 === 0) {
console.log("Fizz")}
else if (i%5 === 0) {
console.log("Buzz")}
else { console.log(i) }
}