我如何拥有一个动态增长的自定义对象的Javascript数组?

时间:2015-02-27 12:10:17

标签: javascript arrays object multidimensional-array

我正在使用HTML5创建一个房间预订表单。用户输入诸如日期,他们的名字,他们预订的房间等信息...我想将此信息插入到我创建的我自己的对象数组中。因此,每次用户按下按钮时,它都会获取所有表单数据并将其插入到数组中。

数组将限制为15或20 ......

我已设法在下面创建一个单个对象,但我正在努力创建此对象的数组...然后我需要弄清楚如何识别数组中的哪个索引是空的。

function listItem(cal, lesson, date, notes, teacher, group){
  this.calChoice = cal;
  this.lessonChoice = lesson;
  this.date = date;
  this.notes = notes;
  this.teacher = teacher;
  this.group = group;
}

// ....

var list = new listItem(calchoice, lessonchoice, date, notes, teacher, group);

我确信它有点荒谬:S

谢谢:)

3 个答案:

答案 0 :(得分:1)

快速拍摄:

var list = [];
list[list.length] = new listItem();

由于list.length是数组中的元素计数。索引从0开始,因此list.length是下一个“免费”索引。

答案 1 :(得分:1)

.push将是适当的方式imo

list.push(new listItem(calchoice, lessonchoice, date, notes, teacher, group));

答案 2 :(得分:1)

声明一个列表。

var mainList =[];

并且无论何时创建对象,

var list = new listItem(calchoice, lessonchoice, date, notes, teacher, group);

将其推送到主列表。

mainList.push(list);
希望有所帮助!

如果需要,可以通过for循环访问每个对象。