Javascript 分配数组值无效?
对于国际象棋游戏,我在敌方棋子上寻找可能的攻击者。 电路板表示通过多维数组完成Javascript 分配数组值无效?,javascript,multidimensional-array,Javascript,Multidimensional Array,对于国际象棋游戏,我在敌方棋子上寻找可能的攻击者。 电路板表示通过多维数组完成board[i][j],其中i=行,j为列(so 8x8),值为工件本身 搜索可能的攻击者时,我想创建一个新的数组aPossibleAttackers[I][j] var aPossibleAttackers = []; // create array var ti,tj; // temp row/col 我在所有可能的方向(0-7)进行搜索,寻找我遇到的第一件物品。所以方向和距离是已知的。然后我计算这是哪个字段,并
board[i][j]
,其中i=行,j为列(so 8x8),值为工件本身
搜索可能的攻击者时,我想创建一个新的数组aPossibleAttackers[I][j]
var aPossibleAttackers = []; // create array
var ti,tj; // temp row/col
我在所有可能的方向(0-7)进行搜索,寻找我遇到的第一件物品。所以方向和距离是已知的。然后我计算这是哪个字段,并希望将相应的值从board[I][j]
复制到apossibableattackers[I][j]
。但它不起作用
代码:
我做错了什么
board[i][j]
确实存在,否则我就找不到一块了。可能是铸弦的问题
试一试
猜一猜
aPossibleAttackers[ti][tj]=board[ti][tj]有什么问题吗?在errorconsole中,我得到:Tijdstempel:20-1-2013 17:45:54 Fout:TypeError:无法将未定义的转换为对象Bronbestand:Regel:2021这表明aPossibleAttackers[ti]
或board[ti]
未初始化。aPossibleAttackers=[]!=aPossibleAttackers=[]]
board数组是boardpresentation,它存在,否则我的代码将在开始时被破坏。我像这样实例化了数组aPossibleAttackers:var aPossibleAttackers=[],所以我似乎无法通过说:aPossibleAttackers[ti][tj]=board[ti][tj]来创建多个数组???谢谢Andreas,但是我如何将board[i][j]添加到aPossibelAttackers??
alert( veld(attackerRow,attackerCol) + " pos att op veld " + veld((attackerRow + (i * rowStep)), (attackerCol + (i * colStep))));
aPossibleAttackers[search_dir] = i; // searchdirection and distance, OK
ti = attackerRow + (i * rowStep); // OK
tj = attackerCol + (i * colStep); // OK
//aPossibleAttackers[ti][tj] = board[ti][tj]; // not possible????
alert("test2 ti= " + ti + " tj=" + tj + " ?? " + aPossibleAttackers);
alert(
veld(attackerRow,attackerCol)
+ " pos att op veld "
+ veld(((attackerRow*1) + (i * rowStep)), ((attackerCol*1) + (i * colStep))));
aPossibleAttackers[search_dir] = i; // searchdirection and distance, OK
ti = (attackerRow*1) + (i * rowStep); // OK
tj = (attackerCol*1) + (i * colStep); // OK
//aPossibleAttackers[ti][tj] = board[ti][tj]; // not possible????
alert("test2 ti= " + ti + " tj=" + tj + " ?? " + aPossibleAttackers);