2015-06-08 2 views
-3

новичок здесь. я сделал такой объект, как этогоНевозможно получить данные с объекта

var myMovie1= 
     { 

      title:'Plan 9 from Outer Space', 
      genre:'Classic', 
      rating:3, 
      showTimes:[6,8,11] 

     }; 


     var myMovie2= 
     { 

      title:'Rush', 
      genre:'Action', 
      rating:5, 
      showTimes:[3,6,14] 

     }; 

Теперь созданных функции для проверки текущего времени и кино оповещения как этого

// function to get date and time 
var now =new Date().getHours(); 


function letsSeeMovie(myMovieSelected){ 
    for (var i = 0; i < myMovieSelected.showTimes.length; i++) { 
     var showTime=myMovieSelected.showTimes[i]; 

     if (now<showTime) { 
      return "The next moive starts at " + showTime + "am"; 
     } 
     else 
     { 
      return "sorry you just missed it" 
     } 

    } 
} 
var okcanWeSeeit=letsSeeMovie(myMovie2); 
document.write(okcanWeSeeit); 

Но как-то в Moive объекта он отображает только "жаль пропустил я т ». it dosent ** reach 11 * и показать следующее время воспроизведения. Где я делаю это неправильно ??? Благодарю.

+0

почему нисходящий? – designerNProgrammer

ответ

2

Вы должны вернуться после того, как перебор всех myMovieSelected

function letsSeeMovie(myMovieSelected){ 
    for (var i = 0; i < myMovieSelected.showTimes.length; i++) { 
     var showTime=myMovieSelected.showTimes[i]; 
     console.log(showTime) 
     if (now<showTime) { 
      return "The next moive starts at " + showTime + "am"; 
     } 

    } 

    return "u miss it" 
} 

То, что вы сделали только сейчас, вы итерацию первого элемента, если оно не соответствует вы уже разорвать петлю

+0

спасибо. пожалуйста upvote если считаете вопрос был подлинный .. – designerNProgrammer

1

У вас есть оператор возврата в вашем цикле. Это означает, что если первый фильм пропущен, он не проверяет другие сеансы. Рассмотрите возможность удаления инструкции возврата из предложения «вы пропустили это».

0

В приведенном выше коде вы передали переменную myMovie2, которая не имеет 11 данных. Также вы выполнили только одну проверку, то есть в условии if вы пишете оператор return только для одного условия. Об этом говорят все.

Смежные вопросы