无法在函数javascript中传递数组

无法在函数javascript中传递数组,javascript,arrays,Javascript,Arrays,我正在学习javascript,我想在一个函数中填充一个数组,并在第二个函数中将其作为参数传递。我有以下代码,但由于某些原因,它不工作 function gameplay(tmp) { for (var i = 0; i < tmp.length; i++) { if (xTrans >= tmp[0] - 1 && xTrans < tmp[0] && zTrans <

我正在学习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;
}

提前感谢。

您可能想尝试一下,以确认当您有一个清晰而明显的输入时会发生什么:

function fillMap() {
var map = [[0]];
这将为您提供以下输出:[4,-5]

一些潜在问题

  • 地图没有在任何地方定义
  • 长度在任何地方都没有定义
  • xTrans没有在任何地方定义
  • zTrans在任何地方都没有定义
  • 根据我所见,似乎不太可能满足if条件:

    xTrans>=tmp[0]-1&&xTrans

其他一些想法

  • 您最好使用
    边界。按
    而不是
    边界[length]=$val

  • for(var y=0;y从您的注释来看,似乎并没有填充数组,因为您有一些填充数组的条件。
    
    因此,首先检查您的条件是否已满。

    您是否收到某种错误消息,或者输出/结果是否与您期望的完全不同?请确保您的代码运行正常。
    长度
    变量未定义。我假设您想要
    边界。推送(…)
    相反。如果您不熟悉JS中的数组,我建议您学习一个教程:。定义了长度,当我尝试打印数组时得到的消息是它是空的。
    map
    defined在哪里?在for(var y=0;I尝试了push和for语句,正如您所说,其他变量都已定义,但仍然存在相同的问题
    function fillMap() {
    var map = [[0]];