Показать сообщение отдельно
  #1 (permalink)  
Старый 13.11.2013, 14:31
Новичок на форуме
Отправить личное сообщение для eudji Посмотреть профиль Найти все сообщения от eudji
 
Регистрация: 13.11.2013
Сообщений: 2

Не могу понять логику
Тест для начинающих с Codecademy

дан изначальный код:

var lost = [4, 8, 15, 16, 23, 42];
var count = lost.length;
var isLost = function (n) {
  for ( ) {
    if ( n === lost[i]) {
      return ;
    }
  }
  return ;
};

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

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


Задание такое: дописать функцию isLost так, чтобы при проверке числа n цикл возвращал значения true или false. таким образом будет производится проверка является число isLost или нет.

Вопросы:
1) зачем в коде эта строка var count = lost.length; ?
переменная count далее нигде не используется. Так зачем? Запутать новичка?
2) я дописал условие FOR и получилось следующее

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

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

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

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


вызывает смешанные чувства куски "function (n)" и пустой return. Откуда взялась n, чему равна?
При исправлении на return n; программа выполняется и тест считается пройденным.

Кто уже не такой кран в java как я, и кому не лень, объясните плз пункты 1 и 2.

Последний раз редактировалось eudji, 13.11.2013 в 14:33.
Ответить с цитированием