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