[英]How to pass an array through Javascript Function Arguments
我在stackoverflow( Pass Array Thread 2)和( Pass Array Thread 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();
}
和變量數組(不完整,但您可以理解):
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)
。 嘗試傳遞數組但實際上傳遞字符串時,請丟失'
(引號)。
您已將字符串而非函數傳遞給函數,請嘗試以下操作,刪除單引號。
createMap(map_beginning_1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.