2015-12-12 100 views
1

我知道我走了,但我找不到任何閱讀,這有助於我解決這個問題。我正在嘗試使用構造函數來創建一個充滿問題,選擇和答案的數組。我不確定將對象推到數組上的語法。使用構造函數將對象推入數組?

我的構造函數如下:

// Create array to traverse(using jQuery) so that on clicking submit, the current question 
//is deleted, and the next question in the array is loaded. 
var questionsArray = []; 

//Contructor Function to create questions and push them to the array 
function Question (question, choices, answer){ 
    this.question = question; 
    this.choices = choices; 
    this.answer = answer; 
    return questionsArray.push(); //This is way off I know, but I'm lost... 
} 
+0

'push(...)'接受一個參數。 *你想推什麼,新的'Question'實例?你需要傳遞'this',但實際上最好從構造函數的* outside外調用'questionsArray.push(new Question(...))'。順便說一句,你不應該從構造函數中返回任何東西。 – Bergi

回答

2

questionsArray.push(new Question('how?',['a','b','c'],'a'));

,並在你的問題推似乎是不必要的

function Question (question, choices, answer){ 
    this.question = question; 
    this.choices = choices; 
    this.answer = answer; 
} 

在創建一個表單使用var current_question = questionsArray.shift();,這需要第一個元素離開陣列並轉移其餘元素。或者,使用questionsArray.pop()從隊列中獲取最後一個。

對於增加數組本身,你可以在構造函數中完成 - 你可以用questionsArray.push(this);來結束Question函數,但我寧願使用外部函數來創建問題並將它們插入到這個數組中。

+0

這。我不能說更好。 – Bergi