作者ginnz (go)
看板Flash
標題[問題]二維陣列中的動態陣列
時間Sat May 28 23:13:28 2011
如下:
//*** 後是問題所在,感謝!
var game=new Array();
var total=4;
var a1=[1,2];
var a2=[1,2,3,4];
var a3=[1,2,3,4,5,6];
var a4=[1,2,3,4,5,6,7,8];
var kk=[a1.length,a2.length,a3.length,a4.length]
for(var i=0;i<total;i++)
{
game[i]=new Array(kk[i])
for(var ii=0;ii<kk[i];ii++)
{
game[i][ii]=a4[ii]; //**** a4的位置 希望是 "a"+i 的動態陣列 代表a1~a4
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.150.182
1F:推 pm2001:this 05/28 23:28
2F:→ ginnz:謝謝P大,可否更詳細?因為 a4[ii]改成this['a'+i][ii] 05/28 23:39
3F:→ ginnz:或是this["a"+i][ii] 都還是不行.. 05/28 23:40
4F:推 KawasumiMai:えっと、game[i]=new Array(kk[i])這一行我有疑問 05/28 23:44
5F:→ KawasumiMai:new Array(kk[i])會讓game[i]變成一個陣列 05/28 23:45
6F:→ KawasumiMai:但是game[i][0]=kk[i] game[i][1]=undefind 05/28 23:46
7F:→ KawasumiMai:這確定是你要的嗎? 05/28 23:46
8F:→ ginnz:game陣列的第i個元素是一個 長度為kk[i]的陣列,是吧?! 05/28 23:47
9F:推 KawasumiMai:我在var kk下方trace(kk)="2,4,6,8"沒錯 05/29 00:22
10F:→ KawasumiMai:啊,抱歉看錯了 05/29 00:23
11F:推 KawasumiMai:game[i][ii]=this["a"+(i+1)][ii]; 05/29 00:30
12F:→ KawasumiMai:請注意你的ii從0開始,可是a是1~4所以要i+1 05/29 00:31
13F:→ KawasumiMai:此外我其實不太懂這種逐項寫入的方式要作什麼用 05/29 00:32
14F:→ KawasumiMai:kk可以=[a1,a2,a3,a4] ii<kk[i].length也是可以 05/29 00:33
15F:→ KawasumiMai:或是ii<this["a"+i].length就可以完全不用用到kk 05/29 00:33
16F:→ KawasumiMai:最後for(var i=0;i<total;i++){ 05/29 00:34
17F:→ KawasumiMai:game.push(this["a"+(i+1)]) 05/29 00:35
18F:→ KawasumiMai:} 05/29 00:35
19F:→ KawasumiMai:其實就可以動態存入game了 05/29 00:35
20F:→ ginnz:真的很謝謝K大!! 05/29 11:02