[英]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.