使用构造函数将对象推送到数组?

时间:2015-12-12 19:25:15

标签: javascript jquery arrays function constructor

我知道我已经离开了,但我无法找到帮助我解决这个问题的任何阅读。我试图使用构造函数来创建一个充满问题,选择和答案的数组来进行测验。我不确定将对象推到数组上的语法。

我的构造函数如下:

// 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...
}

1 个答案:

答案 0 :(得分: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函数,但是我宁愿使用外部函数来创建问题并将它们插入到这个数组中。 / p>