Javascript数组赋值问题

-1 javascript arrays variable-assignment

我试图通过使用三级嵌套四循环来分配一系列81个盒子的自动id号码.这是我的代码.

function printBoxes()
    {
        alert("Function Entered");
        var box = new Array();
        alert("Array Created");


        for(var i = 0; i < 9; i++)
        {
            for(var j = 0; j < 3; j++)
            {
                for(var k = 0; k < 3; k++)
                {
                    box[i, j ,k] = [i, j, k];
                }
            }
        }

        alert(box[3,5,1]);

        alert("Arrays Created");

        for(var a = 0; a < 9; a++)
        {
            document.writeln("<br>");

            for(var b = 0; b < 3; b++)
            {
                for(var c = 0; c < 3; c++)
                {   document.writeln("<FORM inputs>")
                    document.write("<INPUT type = 'text' id = ' " + box[a,b,c] + " ' value = ' " + box[a,b,c] + "' size = '1' maxlength = '1'/>");
                    document.writeln("<//FORM>")
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是这样的:虽然我可以使用一个警告框来看每个盒子被分配一个正确的id,但是在它离开main for循环后,我最终分别以1/3 820s,821和822结束.我该如何解决?

Ry-*_*Ry- 7

JavaScript中没有特殊情况的多维数组 - 只有数组,可以包含数组.因此,每次为每个维度创建一个新数组:

var box = [];

for(var i = 0; i < 9; i++)
{
    box[i] = [];

    for(var j = 0; j < 3; j++)
    {
        box[i][j] = [];

        for(var k = 0; k < 3; k++)
        {
            box[i][j][k] = [i, j, k];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

… 例如.这假装工作的原因是JavaScript有一个逗号运算符,它将评估其操作数并返回正确的操作数,所以box[i, j, k]实际上只是意味着box[k].