具有2维数组属性错误的对象数组

时间:2014-04-23 10:43:07

标签: javascript arrays oop object for-loop

问这里是最后的手段,我花了50多个小时就出现了这个错误,如果有人能借给我一把,我会非常感激。

错误:"当前版本的Javascript","期望分号或换行符"

不支持Decunstructing Assignments。

目标:将for循环中的用户输入分配给变量,使用这些变量初始化对象数组的每个元素的对象属性。

function STUDENT(name, id, course, mark, sum)
    {
        this.studName = name;
        this.studentID = id;
        this.courses = course;
        this.marks = mark; //Attempted new array and marks[courses][0]
        this.studsum = sum;
    }

var student = new Array(30);

for(i = 0; i < 30; i++)
    {
       var name1 = prompt("Enter Student Name:");
        if (name1 !== "!!!")

            {
                var id1 = parseInt(prompt("input the students ID:", ""));

                for (var l = 0; l < course.length; l++)
                {
                    mark1[l] = parseFloat(validateMark(l));
                    sum1 += mark1[l];
                    coursesum[l] = mark1[l] + coursesum[l];
                }

                var student[i] = new STUDENT(name1, id1, course1, mark1, sum1);
                /*ERROR IS HERE ^*/


            }

    else
        i = 30; /*Breaks out of loop*/
    }/* end of for loop*/

我尝试了很多不同的东西,但这是我的代码的基础,所有其他函数都很好,每个变量的console.log()工作正常。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

改变这个:

var student[i] = new STUDENT(name1, id1, course1, mark1, sum1);

进入:

student[i] = new STUDENT(name1, id1, course1, mark1, sum1);

你的数组已经宣布不需要&#34; var&#34;面前。

PS:你的循环中的课程也是未定义的(在你当前的代码中)。