2016-06-21 10 views
0

私はこの本をEloquente JavaScriptという名前で読んできました。この本の中の本当のことはかなり複雑です。この挑戦があったのは、値が均等であるかどうかに応じて真または偽を示す関数を書かなければならなかったからです。私の版は本よりもかなり短いです。これを行う最善の方法は何でしょうか?なぜ彼はそれをこのようにしましたか?偶数を取得するより良い方法は何ですか?

Eloquente JavaScriptコード:

function isEven(n) { 
    if (n == 0) 
    return true; 
    else if (n == 1) 
    return false; 
    else if (n < 0) 
    return isEven(-n); 
    else 
    return isEven(n - 2); 
} 

console.log(isEven(50)); 
console.log(isEven(75)); 
console.log(isEven(-1)); 

私自身のコード:

function even(num) { 
     if (num % 2 == 0){ 
     return true; 
     } 
     else{ 
     return false ; 
     } 
    }; 

    console.log(even(17)); 
    console.log(even(10)); 
    console.log(even(-33)); 
    console.log(even(-40)); 
+0

それはそう誰もがこのようにそれを実装しないだろう、おそらく再帰についての章でした。 – tkausl

+0

はい、表示されただけでしたか?私のバージョンは正しいですか? –

+0

教科書は、特定の言語の概念を教えたいので、しばしば難しいことです。あなたの関数が "より良い"ことは事実です( 'return num%2 === 0'はもっと良いでしょう)。しかし、あなたが再帰やifsについて学ぶことを望むなら、あなたのやり方を教えていないでしょうあなたはそれらのものです。 – JJJ

答えて

-1
function even(num) { 
    return num % 2 === 0; 
} 
+2

それは本当に私の質問ではありませんでした、私はこのようにすることができます知っている、私はちょうど彼らがなぜdin'tを知りたい。 –

関連する問題