如何在javascript中创建一个包含一组数组并动态赋值的数组?

时间:2012-10-10 12:35:59

标签: javascript json multidimensional-array

我想使用javascript和html创建一个网页,它会从用户那里获取许多学生的详细信息并将其动态存储到一个数组中。 所以我想我需要的是一个数组数组,可以动态赋值给。 我创建了一个页面来获取学生的详细信息,如“名字”。 “姓氏”,“录取号码”和“班级”。我创建了一个表单并获得了这样的值。

form = document.std_form;
f_name=form.firstname.value ; 
l_name=form.lastname.value ;
a_no=form.ad_number.value ;
c_no=form.class_no.value ; 

f_name包含名字,依此类推.. 现在我想创建一个数组student_list,它包含数组std1,std2,std3等,每个数组都包含不同学生的详细信息。请告诉我如何创建这样的数组以及如何显示每个元素。

2 个答案:

答案 0 :(得分:1)

您可以拥有一个包含所有学生的数组名student_list和一个包含个别学生的数组student

var student_list = new Array(); // this will have to be initialized only once

var student = new Array();  // create instances for students with every student being entered through form

// code to populate student array

student_list.push(student); // push students one by one in main list. Should be executed with each student being saved.

请根据您的需要修改代码。

您可以查看this以了解如何迭代它。

希望它有所帮助!!

答案 1 :(得分:0)

这是一个例子。

[编辑]

var studentList = new Array();
var curStudent = new Object();

    var i, num;

    num = getNumberOfRecordsToAdd();    // how ever it is that you know how many the user wants to add

    for (i=0; i<n; i++)
    {
        curStudent.f_name = getFname(i);    // however it is you retrieve these from where ever they are at the moment
        curStudent.l_name = getLname(i);
        curStudent.a_no = getAno(i);
        curStudent.c_no = getCno(i);
        studentList.push(curStudent);
    }

此代码将为您提供一系列项目。每个项目都是对象, 4个字段。

即:

//Student1:

    studentList[0]      // student 1 (student0)
    studentList[0].f_name   // student1's f_name
    studentList[0].l_name   // student1's l_name


//Student2:

    studentList[1]      //  student2
    studentList[1].a_no //  student2's a_no
    studentList[1].c_no //  student2's c_no