Javascript 创建多维数组

Javascript create multidimensional array

我尝试创建一个 4 维数组。我动态填充它并在另一个函数中使用它的内容。但是内容是空的。代码下面有错误吗?

    var datas = []; // day number of a week
    for(var i = 0; i < 7; i++) {
            var size = 24*60/timeInterval;
            datas[i] = [];

            for(var j = 0; j < size; j++) {
                var size2 = allCoords.length / 2;
                datas[i][j] = [];

                for(var k = 0; k < size2; k++) {
                    datas[i][j][k] = [];
                }
            }
        }

我测试下面的例子:

function foo1()
{
    datas[0][0][0].push(10);
}

function foo2()
 {

     document.getElementByID('result').innerHTML = datas[0][0][0];
 }

我只看到,,,,,,,.

我认为主要问题是您使用 getElementByID 而不是 getElementById 获取要显示结果的元素。还要确保您的元素具有 innerHTML 属性 来写入结果,或者使用 value.

我使用 <textArea id="result"></textArea> 编写了以下示例并生成了一个调用 foo1();foo2(); onClick 的按钮,它对我有用。

在示例中,我为 timeIntervalallCoords.length 使用随机值。

另请注意,您需要一个 4 维数组,但您创建的是一个 3 维数组。

var timeInterval = 60;
var allCoords = { length : 1};
var datas = []; // day number of a week
    for(var i = 0; i < 7; i++) {
            var size = 24*60/timeInterval;
            datas[i] = [];

            for(var j = 0; j < size; j++) {
                var size2 = allCoords.length / 2;
                datas[i][j] = [];

                for(var k = 0; k < size2; k++) {
                    datas[i][j][k] = [];
                }
            }
        }


function foo1()
{
    datas[0][0][0].push(10);
}

function foo2()
{
   document.getElementById('result').value = datas[0][0][0];
}
<textArea id="result"></textArea>
<input type="button" value="foo" onclick="foo1();foo2();"/>

希望这对您有所帮助,