如何通过Javascript函数参数传递数组
我在stackoverflow(和()以及其他几个站点)上发现了几个类似的线程,但我要么不理解它们,要么它们没有完全回答我的问题,要么我不知道如何在代码中实现它 我有以下代码,可以根据一些数组为游戏创建地图:如何通过Javascript函数参数传递数组,javascript,arrays,Javascript,Arrays,我在stackoverflow(和()以及其他几个站点)上发现了几个类似的线程,但我要么不理解它们,要么它们没有完全回答我的问题,要么我不知道如何在代码中实现它 我有以下代码,可以根据一些数组为游戏创建地图: function createMap(level) { var map = document.getElementById('map'); mapWidth = parseInt(level[0]); mapHeight = parseInt(level[1]);
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();
}
我的问题是我打电话来
createMap('map_beginning_1')
没有发生任何事情。没有错误,但没有其他事情发生。我做了一个测试,看看它得到了什么,“level[7]”的值是“I”,而“level”的值是“a”,这是“map\u start\u 1”中字符的位置。有人能给我解释一下如何或是否有可能通过Javascript函数参数可变地传递数组,以及如何做吗?如果不可能,你能为我尝试做的事情提供一些替代方案吗?Javascript更可取,但如果我必须的话,我可以使用Jquery。尝试
createMap(map\u\u 1)
。丢失”
(引号),因为您试图传递数组,但实际上传递的是字符串。尝试创建映射(映射开始1)
。丢失”
(引号),因为您试图传递数组,但实际上传递的是字符串。您已将字符串传递到函数中,而不是变量。请尝试以下操作,删除单引号
createMap(map_beginning_1);
您已将字符串而不是变量传递到函数中。请尝试以下操作,删除单引号
createMap(map_beginning_1);
你传递的是字符串,而不是数组。那么我如何传递数组而不是字符串呢?你传递的是字符串,而不是数组。那么我如何传递数组而不是字符串呢?谢谢,我觉得我没有注意到这一点很傻。它起作用了:)我会在10分钟内接受你的答案,如果可以的话。谢谢,我觉得我没有注意到这一点很傻。它成功了:)我会在10分钟内接受你的回答,如果可以的话。