javascript - 如何通过 Javascript 函数参数传递数组

标签 javascript arrays

我在 stackoverflow( Pass Array Thread 2) 和( Pass Array Thread 1 )以及其他一些网站上找到了一些其他类似的线程,但我要么不理解它们,要么他们没有完全回答我的问题,要么我做了不知道如何将其实现到我的代码中。

我有以下代码,应该根据某些数组为游戏创建 map :

function createMap(level) {
   var map = document.getElementById('map');
   mapWidth = parseInt(level[0]);
   mapHeight = parseInt(level[1]);
   map.innerHTML = '';
   rowNumber = 1;
   tileID = 1;
   var consoleHelp = level[7];
   console.log(k+' and value is '+consoleHelp);
   k = 1;
for (k = 1; k <= mapHeight; k++) { // repeat below loop until specified height is reached
 for (k = 1; k <= mapWidth; k++) { // create a row of tiles based on the specified width of the array
    console.log('Row '+k+' created')
    if (rowNumber == 1) {
        k++;
    }
    else {
        k--;
    }
    if (level[k] == 'w') {
        map.innerHTML += '<span id="'+rowNumber+'-'+tileID+'">desert<image class="tiles" src="desert.png"></span>';
    }
    else if (level[k] == 'g') {
        map.innerHTML += '<span id="'+rowNumber+'-'+tileID+'"><image class="tiles" src="grass.png"></span>';
    }
    else {
        console.log('crap dis did not work');
        var consoleHelp = level[k];
        console.log(k+' and value is '+consoleHelp);
    }
    if (rowNumber == 1) {
        k--;
    }
    else {
    k++;
    }
    tileID++
  }
  rowNumber++
  level = level + '_1';
  map.innerHTML = "<br>";
}
spawnTile();
}

和变量数组(不完整,但你明白了):

var map_beginning_1 =         ['20','10','w','w','w','w','w','w','w','w','w','w','w','w','w','w','w','w','w','w','w','w'];
var map_beginning_1_1 =                 ['w','g','g','g','g','g','g','g','g','g','g','g','g','g','g','g','g','g','g','w'];

我的问题是我打电话

createMap('map_beginning_1')

什么也没发生。没有错误,但没有其他事情发生。我做了一个测试,看看它得到了什么,“level[7]”的值为“i”,“level 1”为“a”,这是“map_beginning_1”中字符的位置。有人可以向我解释一下如何或者是否可以通过 Javascript 函数参数可变地传递数组以及如何做到这一点吗?如果不可能,您能为我想做的事情提出任何替代方案吗? Javascript 更好,但如果必须的话我可以使用 Jquery。

最佳答案

您已将字符串传递给函数而不是变量,请尝试以下操作,删除单引号。

createMap(map_beginning_1);

关于javascript - 如何通过 Javascript 函数参数传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37669913/

相关文章:

php - 是否可以阻止使用 Javascript 或 PHP 设置 cookie?

c - 迭代数组元素时获取 "Floating point exception (core dumped)"

javascript - 使用JavaScript和HTML5音频存储和播放本地文件

javascript - 在 HTML5 视频上叠加元素

javascript - 我怎样才能将这个功能合并在一起

javascript - 为什么自定义数组比普通版本慢?

Java 从不同的类中普遍加载整数

javascript - 将内容插入 Wordpress 帖子编辑器

javascript - 在模态对话框中显示滚动时如何隐藏正文滚动条?

javascript - 加密 HTML 表单