2012-02-20 11 views
0

私はJavaScriptのエクササイズ [1]に取り組んでいます。以下は私が書いたものです。私はそうだと思います。しかし、明らかに欠陥があります。私は何が悪くなったのか何の手がかりも持っていません。見える?Javascript:Codeacademy:失われた数字

私はデバッグを試みました。どうすればデバッグできますか?間違いがありますか?

var lost = [4, 8, 15, 16, 23, 42]; 

var isLost = function (n) { 
    for (var i=0; i++; i <lost.length) { 
    if (n === lost[i]) { 
     return false; 
    } 
    } 
    return true; 
}; 


var ret = isLost(12); 
if (ret === true) { 
    console.log('12 is a lost number'); 
} 

var ret = isLost(16); 
if (ret === true) { 
    console.log('16 is a lost number'); 
} 

答えて

3

forヘッダーが間違っています。次のようになります。

for (var i = 0; i < lost.length; i++) 
+0

+1 Wew !!私を撃ちなさい、私はそのようなダンボーです。でもそれはまだ私にこれをもたらしました。まだ何が間違っているのか分かりません。 '12は失われた番号です 16番の番号が失われていません もう一度お試しください。 –

+1

@GP返信文を逆にしました。 'if'ステートメントの中で' return true'でなければなりません。関数の最後に 'return false'がなければなりません... –

+0

ありがとう、Šime。それは助けて! –

2

私はデバッグを試してみました。どうすればデバッグできますか?

ChromeのFireBugまたはデバッガを使用してください。デバッグはおそらく、どのプラットフォームでも最も重要なスキルの1つなので、最初にやることのひとつとしてこれを学びましょう。

+0

+1ありがとう!私はアラートを使用していた後console.logを使用していました。私はまだFirebugに慣れる必要があります。しましょう。ありがとう! –

-1
var lost = [4, 8, 15, 16, 23, 42]; 
var count = lost.length; 

var isLost = function (n) { 
for (var i = 0; i < lost.length; i++) { 
    if (n === lost[i]) { 
     return true; 
    } 
    } 
    return false ; 
}; 

if (isLost(12)) { 
    console.log('12 is a lost number'); 
} 

if (isLost(16)) { 
    console.log('16 is a lost number'); 
}