首页 > 解决方案 > FizzBu​​zz 函数没有通过不是数字逻辑

问题描述

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

标签: javascriptfizzbuzz

解决方案


你只是反向写了条件检查

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);


推荐阅读