gpt4 book ai didi

javascript - 无法在函数 javascript 中传递数组

转载 作者:行者123 更新时间:2023-12-03 12:37:13 25 4
gpt4 key购买 nike

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

提前致谢..

最佳答案

您可能想尝试一下,只是为了确认当您有清晰明显的输入时会发生什么:

function fillMap() {
var map = [[0]];

这应该给你输出:[4, -5]

一些潜在的问题

  • map 未在任何地方定义
  • 长度没有在任何地方定义
  • xTrans 未在任何地方定义
  • zTrans 未在任何地方定义
  • 根据我的观察,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 * ybounds[length] = -5 * y; 相同

关于javascript - 无法在函数 javascript 中传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23684694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com