Autor | Zpráva | ||
---|---|---|---|
niky Profil |
#1 · Zasláno: 5. 11. 2008, 15:23:06
Ahoj, nevíte někdo, jak vytvořim dvojrozměrné pole, aniž bych ho musel hned zpočátku deklarovat? Já totiž nevim, jak dlouhé pole potřebuju...
Tenhle topic mi nepomohl. Děkuji :) |
||
johnik Profil * |
#2 · Zasláno: 5. 11. 2008, 15:38:25
Dáš jednoduše dvakrát for namísto jednoho. Prvně vytvoříš normální pole a potom v tom druhem for ho doplnis.
|
||
niky Profil |
#3 · Zasláno: 6. 11. 2008, 16:58:50
To já vim... To pro mě neni dostačující informace. Potřebuju dynamickou závislost.
Chápu, mám "pole" a chci dvojrozměrný a rozměrech 3x3. Nadeklaruji "pole1", "pole2", "pole3", naplenim datama a vložim do "pole". Všimněte si, že je musim nadeklarovat, takže jak mám udělat když pole 10x10? Deklarovat 10krát zvlášt pole (pole1, pole2, ... pole10)? A co když chci 100x100? Neuvěřitelný :D Víte někdo, jak "dynamicky deklarovat promněné", aby nebyli zároveň lokální? Nebo znáte někdo způsob, jak to udělat jinak? Lze to vůbec udělat? |
||
johnik Profil * |
#4 · Zasláno: 6. 11. 2008, 19:56:02
Chápu to dobře?
for(var i:Number=0,i<10,i++) ( var pole(i):Array = new Array();//hranate zavorky for(var j:Number,j<10,j++) ( pole(i)(j) = "neco"; )) Uprav si ty závorky... jestli to chceš globální, tak ještě doplň var pole:Array = new Array(); někam před ty fory. Nebo dej před pole _global. |
||
niky Profil |
#5 · Zasláno: 7. 11. 2008, 16:34:50
Tak tohle nefunguje.
Vždyt "var pole[i]:Array = new Array();" to nelze. A když se pokusim o něco takového, tak výstup všech prvku v poli je "undefined". var pole:Array = new Array(); for(var i:Number=0;i<10;i++) { pole[i] = new Array(); for(var j:Number;j<10;j++) { pole[i][j] = "neco"; } } Prostě pořád nic :( |
||
johnik Profil * |
#6 · Zasláno: 7. 11. 2008, 16:50:11
"var pole:Array = new Array();" takhle, sry. tak to zkus bez toho, to urcite pujde: nebo spis u me to jde :)
for(var i:Number=0;i<10;i++) { pole[i] = new Array(); for(var j:Number;j<10;j++) { pole[i][j] = "neco"; } } |
||
johnik Profil * |
#7 · Zasláno: 7. 11. 2008, 17:03:04
stop(); var pole = new Array(); for (var i:Number = 0; i<10; ++i) { pole[i] = new Array(); for (var j:Number = 0; j<10; ++j) { pole[i][j] = i*j; trace("obsah: "+pole[i][j]); } } trace("zkouska: "+pole[3][4]); Celý skript. |
||
niky Profil |
#8 · Zasláno: 7. 11. 2008, 23:42:56
Super! Funguje!
Ale já jsem to takhle nějak dělal a pořád mi to házelo "undefined". To by mě zajímalo, co jsem tam zvoral... Ale teď už mám po problému. Děkuji johniku :) |
||
niky Profil |
#9 · Zasláno: 7. 11. 2008, 23:49:02
Už to mám! V druhym cyklu jsem do "j" nehodil hodnotu. Tak tohle se mi ještě nestalo :D
|
||
Časová prodleva: 15 let
|
0