实现 fizzBuzz 函数,参数 num 与返回值的关系如下:
1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz
2、如果 num 能被 3 整除,返回字符串 fizz
3、如果 num 能被 5 整除,返回字符串 buzz
4、如果参数为空或者不是 Number 类型,返回 false
5、其余情况,返回参数 num
15
fizzbuzz
15
fizzbuzz
function fizzBuzz(num) {
if(typeof num!=='number') return false
let str =''
if(num%3===0) str+='fizz'
if(num%5===0) str+='buzz'
return str?str:num
} function fizzBuzz(num) { if (typeof num!=='number'){ return false }else { return num%15===0?'fizzbuzz':num%3===0?'fizz':num%5===0?'buzz':num } }
function fizzBuzz(num) {
if(num == null || typeof num !== 'number') return false;
if(num % 3 === 0 && num % 5 === 0) return 'fizzbuzz';
else if(num % 3 === 0) return 'fizz';
else if(num % 5 === 0) return 'buzz';
else return num;
} function fizzBuzz(num) {
if(num.constructor() !== Number()) return false
return num%3 === 0 && num%5 === 0 ? 'fizzbuzz' : num%3 === 0 ? 'fizz' : num%5 === 0 ? 'buzz' : num
} function fizzBuzz(num) {
if( num%3==0 && num%5==0) return 'fizzbuzz'
else if(num%3==0) return 'fizz'
else if(num%5==0) return 'buzz'
else if(!num||typeof num !== 'number') return false
else return num
} function fizzBuzz(num) {let reg = /^\d+\./let fizz = 'fizz'let buzz = 'buzz'let a = num / 3if (typeof num != 'number') return falseif (reg.test(num / 3) == false && reg.test(num / 5) == false) {console.log(num / 3, num / 5);return fizz + buzz}if (reg.test(num / 3) == false && reg.test(num / 5) == true) {console.log(num / 3, num / 5);return fizz}if (reg.test(num / 3) == true && reg.test(num / 5) == false) {console.log(num / 3, num / 5);return buzz}return num}
能否整除即余数是否为0,则使用%运算符。使用if-elseif结构,只要某一条匹配,则下面的不会在进行判断。判断num是否为Number,可以用typeof运算符,返回的是字符串。
function fizzBuzz(num) { if(num%3 == 0 && num%5 == 0) return "fizzbuzz"; else if(num%3 == 0) return "fizz"; else if(num%5 == 0) return "buzz"; else if(num == null || typeof num != "number") return false; else return num; }