FizzBu​​zz 函数没有通过不是数字逻辑

问题描述

我把一个 fizzbuzz 算法放在一起,出于某种奇怪的原因,当分配给输入的值似乎接受每个输入并返回“不是数字”时,函数的一部分应该返回“不是数字”如果我保留如果在函数顶部带有 NaN 的语句,则没有任何内容。如果我把它放在返回输入之前,如果我把一个 # 可以被 3 或 5 整除,或者两者兼而有之,该函数将运行良好,但是一旦它遇到 NaN 逻辑,它就会停止并控制台记录不是一个数字。我确定我犯了一个明显的错误,但我看不到。谁能让我知道我做错了什么? enter image description here

解决方法

您刚刚反向编写了条件检查

function fizzBuzz(input) {
    if (typeof input !== 'number') {
        return 'Not a number';
    }
    if ((input % 3 === 0) && (input % 5 === 0)) {
        return 'FizzBuzz';
    }
    if (input % 3 === 0) {
        return 'Fizz';
    }
    if (input % 5 === 0) {
        return 'Buzz';
    }
    return input;
};

const output = fizzBuzz();
console.log(output);