繁体   English   中英

JS多维数组空间域

[英]JS multidimensional array spacefield

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

所有字段均应以假开头。 但是似乎我的代码无法正常工作,但是我没有找到我的错。 目的是使每个空间部门都可访问。

那就是我的主意:

// 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));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM