0
我试图将学生对象的所有属性都推送到保存学生对象的数组中。我所有的属性保存一个,这是一个属性包含一个字符串数组被推入学生数组,我不知道为什么。当我尝试打印包含数组的(第一个)元素到控制台时,它声明它是未定义的。这里是我的代码至今:无法将特定的对象属性推入数组
var person = { firstname: "", lastname: "", email: "" };
function Student(){};
Student.prototype = person;
Student.prototype.sid = "";
Student.prototype.courses = [];
var students = [];
var answer = null;
function getstudents(answer, students){
var teststudent = new Student;
for(var i = 0; i < answer.length; i++) {
if (i < 4) {
teststudent[i] = answer[i];
}
if(i > 3) {
teststudent.courses[i] = answer[i];
console.log(teststudent.courses[i]); //element is defined
}
}
students.push(teststudent);
console.log("printing ", students[0][4]); //states that the element is undefined
}
function getanswer(string) {
answer = string;
return answer;
}
do {
getanswer(prompt("Please enter your first name, last name, student ID, email and courses (seperated by ',')"));
if(answer !== ""){
var array = answer.split(',');
answer = array;
getstudents(answer, students);
} else {
answer = null;
}
} while(answer !== null);
您正在尝试teststudent的'值设为[0]'来'teststudent [3]'时,你应该是设置'teststudent ['firstname']'等的值。 – Havenard 2014-10-05 02:12:10
请1)告诉你打印后你想看到什么,2)显示你如何调用函数'getstudent'。 – 2014-10-05 13:06:41