JS多维数组空间域

时间:2015-10-01 20:56:46

标签: javascript arrays multidimensional-array

我想生成一个3x3字段。我想用JS做这个,它应该是一个Web应用程序。

所有字段都应该是假的。但似乎我的代码工作不正常,但我没有发现我的错。目标是,每个空间部门都可以访问。

这就是我的想法:

// define size
var esize = generateSpace(3);



}

3 个答案:

答案 0 :(得分:2)

space[i] = false正在用一个布尔值false替换数组,而不是填充刚刚创建的数组中的所有条目。你需要另一个循环来初始化数组的所有元素。

function generateSpace(x) {
    var space = [];
    for (var i = 0; i < x; i++) {
        space[i] = [];
        for (var j = 0; j < x; j++) {
            space[i][j] = false;
        }
    }
    return space;
}

此外,您的for()循环条件错误,因为您没有初始化space的最后一个元素。应该是i < space.length

当它完成后,它需要返回它创建的数组。

答案 1 :(得分:0)

由于我感到有些无聊并且感觉像是乱七八糟,你也可以初始化你的数据集,如下所示:

function generateSpace(x) {
    return Array.apply(null, Array(x)).map(function() {
        return Array.apply(null, Array(x)).map(function() {
            return false;
        });
    });
}

答案 2 :(得分:0)

其他功能同样运行良好,但这是一个相当简单的使用ES6适用于任何方格:

function generateSpace(x) {
    return Array(x).fill(Array(x).fill(false));
}