Working through some JS examples and I wrote this solution for a fizzbuzz question. It just prints 1..20 and str
never gets the concat()
value. Can someone please explain why this doesn't work?
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)
}
}
Update: Since the above question was a simple syntax error (don't want to start a new thread), was wondering if the following is good way to write the above answer succinctly in 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)
}
Because String.prototype.concat()
returns contatenated string.
You need to do str = str.concat("XYZ");