2014-10-02 5 views
0

У меня есть эта викторина, которую я пытаюсь сделать. Я хочу, чтобы он породил случайный вопрос.Как сгенерировать случайное число, чтобы получить случайный объект из массива

У меня

var quiz = [{ 
    "question": "Question 1: Who is Megatron", // Question 1 
    "choices": [ 
    "Brandon Marshall", 
    "Larry Fitzgerald", 
    "Robert Griffin III", 
    "Calvin Johnson" 
    ], 
    "correct": "Calvin Johnson" 

}, { 
    "question": "Question 2: Which player has won the most Superbowls", // Question 2 
    "choices": [ 
    "Eli Manning", 
    "Peyton Manning", 
    "Aaron Rodgers", 
    "Tom Brady" 
    ], 
    "correct": "Tom Brady" 

}, ]; 

и я

var randomNumber =Math.floor(Math.random()*3); 
var currentQuestion = (randomNumber); 

if(currentQuestion < quiz.length - 1){ 
    currentQuestion(randomNumber); 
    questionsDone++; 
    loadQuestion(); 
} else { 
    showFinalResults(); 
} 

После того как я свеже перезагрузить страницу, вопрос является случайным. После ответа на этот вопрос другой случайный вопрос не появляется. Я хочу, чтобы он генерировал случайное число. каждый раз, когда я нажимаю ответ на вопрос и использую случайно сгенерированное число в качестве номера вопроса.

+3

Что вы делаете, чтобы сделать вопрос, чтобы показать после того, как ваш ответ? –

+0

@ LeshaOgonkov Весь код http://codepaste.net/m55e4b – Phil

+0

@Phil Проверьте [этот вопрос] (http://stackoverflow.com/q/988363/2033671) вопрос о некоторых советах по отладке javascript –

ответ

0

При загрузке следующего вопроса вы вызываете функцию с именем currentQuestion, которая не существует.

 //if we're not on last question, increase question number 
      if(currentQuestion < quiz.length - 1){ 
       currentQuestion(Math.random()*4); 
       questionsDone++; 
       loadQuestion(); 
      } 

Что вы хотите сделать, это установить currentQuestion

 //if we're not on last question, increase question number 
      if(currentQuestion < quiz.length - 1){ 
       currentQuestion = Math.random()*4; 
       questionsDone++; 
       loadQuestion(); 
      } 
Смежные вопросы