通过一些 JS 示例,我为一个 fizzbuzz 问题编写了这个解决方案。它只打印 1..20 并且str
永远不会获得concat()
价值。有人可以解释为什么这不起作用吗?
for(i=1; i<=20; i++){
var str = ''
if(i%3===0){
str.concat('Fizz')
}
if(i%5===0){
str.concat('Buzz')
}
if(str===''){
console.log(i)
} else {
console.log(str)
}
}
更新:由于上述问题是一个简单的语法错误(不想启动新线程),想知道以下是否是在 JS 中简洁地编写上述答案的好方法?
for(i=1; i<=20; i++){
var str = ''
i%3===0 ? str = str.concat('Fizz') : false
i%5===0 ? str = str.concat('Buzz') : false
str==='' ? console.log(i) : console.log(str)
}