我正在学习javascript,我想在一个函数中填充一个数组,并将其作为参数传递给第二个函数。我有以下代码但由于某种原因它无法正常工作。
function gameplay(tmp) {
for (var i = 0; i < tmp.length; i++) {
if (xTrans >= tmp[0] - 1
&& xTrans < tmp[0]
&& zTrans <= tmp[1] - 1
&& zTrans > tmp[1])
{
//some code here
}
}
}
function fillMap() {
var bounds = new Array();
for (var y = 0; y < map.length; y++) {
for (var x = 0; x < map[0].length; x++) {
if (map[y][x] == '1') {
bounds[length] = 4 * x;
length++;
bounds[length] = -y - 4 * y;
length++;
}
}
}
return bounds;
}
我打电话是这样的:
var tmp = fillMap();
gameplay(tmp);
提前致谢..
答案 0 :(得分:1)
您可能想要尝试这一点,以确认当您有明确而明显的输入时会发生什么:
function fillMap() {
var map = [[0]];
这应该给你输出:[4,-5]
一些潜在的问题
根据我的看法,似乎不太可能满足if条件:
xTrans >= tmp[0]-1 && xTrans < tmp[0]
// translates to if xTrans == tmp[0] - 1
其他一些想法
bounds.push
代替bounds[length] = $val
for(var y=0; y<map.length ;y++) { for(var x=0; x<map[0].length ;x++) {
会像var yLen = map.length; var xLen = map[0].length; for(var y=0; y<yLen ;y++) { for(var x=0; x<xLen ;x++) {
bounds[length] = -y - 4 * y
与bounds[length] = -5 * y;
答案 1 :(得分:0)
从你的评论看来,似乎没有填充数组,因为你有一些条件来填充数组。 所以首先要检查你的状况是否充满。