【发布时间】:2016-02-23 14:14:56
【问题描述】:
我制作了一个函数来解决 Fizz Buzz 挑战。现在,用户可以填写6个变量。
名称而不是 Fizz 和 Buzz。范围(通常为 0 到 100)以及它应该检查哪些数字是否可整。
for(var i = rangeone; i < rangetwo ; i++){
console.log(i)
if(i % divisiontwo === 0 && i % divisionone === 0){
endarray.push(bothwords)
}else if(i % divisiontwo === 0){
endarray.push(secondword)
}else if(i % divisionone === 0){
endarray.push(firstword)
}else{
endarray.push(i)
}
}
问题是。如果您填写范围,通常您将填写 0 到 100。如果您填写 1 到 100,它仍然可以工作..但是如果您填写 2 到 100(或 2+ 到 250 没关系),它没关系不再工作了。
我无法弄清楚为什么它没有。显然,如果 rangeone 高于 1 for(i = rangeone; i ,它甚至不会运行 for 循环
谁能给我解释一下?
提前致谢!
【问题讨论】:
-
您使用的是字符串,而不是数字。
"2"大于"100",因此您的循环永远不会运行。 -
好吧,首先,为什么要将字符串分配给
divisionx变量?你在做数学,这意味着你应该分配数字...... -
但为什么它适用于例如 0 和 100?现在有 2 和 100?如果它不接受字符串,那应该没有区别。对吗?
-
错了。 一些 JavaScript 运算符会将您的字符串转换为数字,但不是全部(尤其不是比较运算符)。
-
啊好吧。感谢您的评论。值得赞赏!我会对此进行一些研究。对这一切都是新手,有时会明确地查看简单的东西:D
标签: javascript fizzbuzz