JS多维数组空格字段



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

所有字段都以false开头。但似乎是这样,我的代码不能正常工作,但我没有找到我的错误。我们的目标是,每个航天器都是可访问的。

这是我的主意。

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

}

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

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

由于我感到有些无聊,并且感觉很乱,您还可以初始化您的数据集,如下所示:

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

其他函数同样工作得很好,但这里有一个使用ES6的相当简单的函数,适用于任何方形网格:

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

最新更新