我想生成一个3x3字段。我想用JS做这个,它应该是一个Web应用程序。
所有字段都应该是假的。但似乎我的代码工作不正常,但我没有发现我的错。目标是,每个空间部门都可以访问。
这就是我的想法:
// define size
var esize = generateSpace(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));
}