簡體   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