2015-08-26 5 views
0

Я создаю страницу, которая случайным образом задает разные вопросы пользователю при обновлении страницы.Javascript: Выбор объекта на основе числа

У меня возникли проблемы с выбором соответствующего вопроса при создании номера.

У меня есть следующий код:

var question1 = { 
 
    \t value: 1, 
 
    \t question: "Question 1!!", 
 
    \t answer: "Answer 1!!" 
 
} 
 

 
var question2 = { 
 
\t value: 2, 
 
\t question: "Question 2!!", 
 
\t answer: "Answer 2!!" 
 
} 
 
//There are 2 questions included, but I plan to add more 
 

 
function startUp(){ 
 
\t var questionNumber = Math.floor(Math.random() * 2) + 1; 
 
\t document.getElementById("form" + questionNumber).innerHTML = //Help here 
 
    //How do I selct the question based upon the number generated, without lots of if statements? 
 
}

функция Startup срабатывает при загрузке тела. («form» + questionNumber) выбирает подходящее место для постановки вопроса.

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

Спасибо за ваше время.

+4

Исследования массивов. –

ответ

0
var questions = [{ 
    value : 1, 
    question : "Question 1!!", 
    answer : "Answer 1!!" 
}, { 
    value : 2, 
    question : "Question 2!!", 
    answer : "Answer 2!!" 
}]; 

function startUp() { 
    var questionNumber = Math.floor(Math.random() * questions.length); 
    document.getElementById("form" + questionNumber).innerHTML = questions[questionNumber].question; 
} 
+0

'var questionNumber = Math.floor (Math.random() * questions.length);' Вместо '*' вы должны использовать '%' – Tushar

+1

Зачем мне это делать? Это всегда будет восстанавливаться в 0, а не в случайном числе от 0 до длины массива. – cviejo

0

Как сказал Эван Тримболи в своем комментарии: «повторно собрать массивы». Я хотел бы сделать это следующим образом:

var question1 = { 
    question: "Question 1!!", 
    answer: "Answer 1!!" 
} 

var question2 = { 
    question: "Question 2!!", 
    answer: "Answer 2!!" 
} 

var questions = [question1, question2]; 

А затем, чтобы получить первый вопрос, который вы можете сделать:

questions[0]; 

Конечно, вы можете substitude 0 (первый вопрос) для переменной, которая имеет случайное число.

console.log(questions[1].question); // another example 
Смежные вопросы