Javascript:将数据分配给多维数组

标签 javascript arrays

我正在尝试将 Java 代码转换为 Javascript,并且正在尝试将数据分配给 3 维数组,但出现“TypeError:无法将 undefined 转换为对象”错误。以下是我的代码。在此先感谢您的帮助。

var initData = [[2], [12], [2]];

for (var i = 0; i < 12; i++)
{
    initData[0][i][0] = -1;
    initData[0][i][1] = -1;
    initData[1][i][0] = -1;
    initData[1][i][1] = -1;
}

最佳答案

[[2], [12], [2]];

这不是维度声明,而是四个 array literals . JS 中没有多维数组。它们只是可以包含任意值的一维列表(包括其他列表)。

要创建和填充包含其他数组的数组,您必须使用以下命令:

var initData = []; // an empty array
for (var i = 0; i < 2; i++) {
    initData[i] = []; // that is filled with arrays
    for (var j = 0; j < 12; j++) {
        initData[i][j] = []; // which are filled with arrays
        for (var k = 0; k < 2; k++) {
            initData[i][j][k] = -1; // which are filled with numbers
        }
    }
}

或者,应用您的 loop unrolling :

var initData = [[], []]; // an array consisting of two arrays
for (var i = 0; i < 12; i++) {
    // which each are filled with arrays that consist of two numbers
    initData[0][i] = [-1, -1];
    initData[1][i] = [-1, -1];
}

关于Javascript:将数据分配给多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085132/

相关文章:

c++ - 将非空终止的无符号字符数组复制到 std::string

Jquery数组融合

javascript - 如何在 iPhone 上打开启用了 CSS 事件的 HTML 文件?

javascript - 增强对象字面量中的对象解构

javascript - 拉取一组对象

java - 在二维数组中存储字符串和整数

python - 如何矢量化 3D Numpy 数组

javascript - 如何在 Angular 4 中动态生成的元素上触发点击事件?

javascript - 如何在给定 ID 的情况下引用 "title"?

javascript - 如何在前端将缓冲区转换为 pdf