Autor Zpráva
niky
Profil
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 *
Dáš jednoduše dvakrát for namísto jednoho. Prvně vytvoříš normální pole a potom v tom druhem for ho doplnis.
niky
Profil
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 *
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
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 *
"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 *
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
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
Už to mám! V druhym cyklu jsem do "j" nehodil hodnotu. Tak tohle se mi ještě nestalo :D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: