好的,所以我试着编写一些代码,每个教室需要x个教室和x个学生,然后将两个学生从不同的教室中随机配对。
听起来很简单,对! 我已经能够在页面上动态创建x个输入元素,并且所有输入元素都可以工作,直到我尝试为x个元素创建数组。
我应该尝试不同的方法吗?
我的代码工作到此为止:
for (i = 0; i < classSize; i++) {
var arrField = container2.appendChild(document.createElement('fieldset'));
var arrDiv = arrField.appendChild(document.createElement('div'));
arrDiv.id = "div" + (i + 1);
var studentArr = "studentArr" + (i + 1);
alert(studentArr); //returns "studentArr1" "studentArr2", etc.
for (n = 0; n < arrSize; n++) {
studentArr = new student();
studentArr[(n + 1)] = new student(document.getElementById("name" + (n + 1)).value, document.getElementById("email" + (n + 1)).value, document.getElementById("phone" + (n + 1)).value);
alert(studentArr[(n + 1)].name);
alert(studentArr[(n + 1)].email);
alert(studentArr[(n + 1)].phone);
}
}
仅供参考 - 我对JavaScript和编程非常陌生! - 抱歉
答案 0 :(得分:0)
使用:
array.push();
示例:
// initialize array
var arr = [
"Hi",
"Hello",
"Bonjour"
];
// append new value to the array
arr.push("Hola");
// display all values
for (var i = 0; i < arr.length; i++) {
alert(arr[i]);
}
答案 1 :(得分:0)
您是否在别处定义了学生对象构造函数?就目前而言,student()看起来像是一个数组和一个具有名称,电子邮件等属性的对象。你应该使用类似的东西
studentArray = []
studentArray.push(new student(name,email,etc.))
为了防止学生班级超载。
此外,另外,在单独的说明中,除非您真的会说“警报!”,否则不应使用警报。它们至少有三个原因存在问题: 1)他们真的很讨厌 2)alert(object)将显示类似[Object Object]之类的东西,用于比简单数据结构(如字符串)更复杂的东西 3)它们阻止在页面上运行任何其他内容。
最好使用console.log,它将信息写入JavaScript控制台。不同的浏览器在不同的位置实现控制台,但在Chrome中,控制台位于View - &gt;开发者 - &gt; JavaScript控制台。 console.log不那么突兀,允许你比警报更彻底地检查对象。