[問題]二維陣列中的動態陣列

看板Flash作者 (go)時間13年前 (2011/05/28 23:13), 編輯推噓4(4016)
留言20則, 3人參與, 最新討論串1/1
如下: //*** 後是問題所在,感謝! 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

05/28 23:28, , 1F
this
05/28 23:28, 1F

05/28 23:39, , 2F
謝謝P大,可否更詳細?因為 a4[ii]改成this['a'+i][ii]
05/28 23:39, 2F

05/28 23:40, , 3F
或是this["a"+i][ii] 都還是不行..
05/28 23:40, 3F

05/28 23:44, , 4F
えっと、game[i]=new Array(kk[i])這一行我有疑問
05/28 23:44, 4F

05/28 23:45, , 5F
new Array(kk[i])會讓game[i]變成一個陣列
05/28 23:45, 5F

05/28 23:46, , 6F
但是game[i][0]=kk[i] game[i][1]=undefind
05/28 23:46, 6F

05/28 23:46, , 7F
這確定是你要的嗎?
05/28 23:46, 7F

05/28 23:47, , 8F
game陣列的第i個元素是一個 長度為kk[i]的陣列,是吧?!
05/28 23:47, 8F

05/29 00:22, , 9F
我在var kk下方trace(kk)="2,4,6,8"沒錯
05/29 00:22, 9F

05/29 00:23, , 10F
啊,抱歉看錯了
05/29 00:23, 10F

05/29 00:30, , 11F
game[i][ii]=this["a"+(i+1)][ii];
05/29 00:30, 11F

05/29 00:31, , 12F
請注意你的ii從0開始,可是a是1~4所以要i+1
05/29 00:31, 12F

05/29 00:32, , 13F
此外我其實不太懂這種逐項寫入的方式要作什麼用
05/29 00:32, 13F

05/29 00:33, , 14F
kk可以=[a1,a2,a3,a4] ii<kk[i].length也是可以
05/29 00:33, 14F

05/29 00:33, , 15F
或是ii<this["a"+i].length就可以完全不用用到kk
05/29 00:33, 15F

05/29 00:34, , 16F
最後for(var i=0;i<total;i++){
05/29 00:34, 16F

05/29 00:35, , 17F
game.push(this["a"+(i+1)])
05/29 00:35, 17F

05/29 00:35, , 18F
}
05/29 00:35, 18F

05/29 00:35, , 19F
其實就可以動態存入game了
05/29 00:35, 19F

05/29 11:02, , 20F
真的很謝謝K大!!
05/29 11:02, 20F
文章代碼(AID): #1DuH4RO3 (Flash)
文章代碼(AID): #1DuH4RO3 (Flash)