0

私は codecademy.com のレッスンに取り組んでおり、数値が 3 または 5 の倍数 (3 と 5 の倍数ではない) であるかどうかを確認し、テストの結果に応じて true または false を返します。どちらの条件も満たさない場合、メソッドは false を返す必要があります。

コードを実行すると、構文エラーがあることがわかります: 予期しないトークンです。誰かが私が間違っていることを見ることができますか?

var FizzBuzzPlus = {

    this.isFizzBuzzie = function(number){
        if (number % 3 === 0 && number % 5 === 0){
            return false;           
        }else if (number % 3 === 0 || number % 5 ===0){
            return true; 
        }else{
        return false; 
        }                           
    }; 
};
4

2 に答える 2

4

これはうまくいくはずです:

var FizzBuzzPlus = {

    isFizzBuzzie: function(number){
        if (number % 3 === 0 && number % 5 === 0){
            return false;           
        }else if (number % 3 === 0 || number % 5 ===0){
            return true; 
        }else{
        return false; 
        }                           
    }
};
于 2012-08-30T18:25:56.917 に答える
1

ややトピックから外れていますが、3と5の両方のモジュロを1回だけ評価する方がよいでしょう。

var FizzBuzzPlus = {

    isFizzBuzzie : function(number){
        var d3 = number % 3 === 0;
        var d5 = number % 5 === 0;
        if (d3 && d5){
            return false;           
        }else if (d3 || d5){
            return true; 
        }else{
        return false; 
        }                           
    }
};

for (var i = 0; i <= 25; i++){
    console.log(i + ": " + FizzBuzzPlus.isFizzBuzzie(i));
}
于 2012-08-30T18:39:22.187 に答える