2012-02-20 4 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

Я попытался отладки. Как мне отлаживать?

Используйте FireBug или отладчик в Chrome. Отладка, вероятно, является самым важным навыком для любой платформы, поэтому потратьте некоторое время на изучение этого как одного из первых вещей, которые вы делаете.

+0

+1 Спасибо! Я использовал alert, а затем 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'); 
}