Newsgroup: it.comp.lang.javascript
Titolo: UBound VBS, in JS??

Salve, qualcuno mi può dire qual'è il metodo JavaScript similare alla
funzione UBound di VBS?
var aryA = new Array(5,2)
per sapere le dimensioni della matrice poi in VBS
righe = Ubound(aryA,1) ' sono 5
collonne = Ubound(aryA,2) ' sono 2
ma in JS???
aryA.lenght !?!?! mi serve se l'array è unidimensionale!!
per i multidimensionali qual'è la sintassi ?
Grazie 1000

per i multidimensionali qual'è la sintassi ?
La sintassi e' la stessa.
L'errore, come ho detto poc'anzi, e' nella creazione degli Array in
JS.
Gli Array in JS sono solo vettori.
Per realizzare Array multidimensionali devi creare "vettori di
vettori".
Per creare una matrice di 5x2, ad esempio, devi fare nel seguente
modo:
var aryA = new Array(5);
for (var k=0;k<aryA.length;k++)
	var aryaA[k]=new Array(2);
A questo punto, facendo:
 
	alert (aryA.length);
	alert (aryA[0].length);
 
Avrai rispettivamente "5" e "2".
--
C'ya, 
  |
  |
'/|\'
\\O//
//"\\
'\ /'
________________________________________TagLine___
"Quanti Angeli danzano sulla punta di uno spillo?"


Con JavaScript la gestione array è enormemente semplificata (rispetto a
VBScript); io uso una logica di questo tipo (vedi se può esserti utile):
var vect = new Array();
per ogni valore da inserire:
vect[vect.length]='valore'; <= all'inizio length=0, inserisce valore in
vect[0] e di conseguenza vect.length diventa 1, il tutto in modo automatico.

vect[0] e di conseguenza vect.length diventa 1, il tutto in modo automatico.
E' un approccio che puo' essere utile in determinati casi.
Cmq non era questo quel che chiedeva ezadro.
Non parlavamo tanto di vettori in se', quanto di manipolazione delle
matrici in JS. :)


vect[0] e di conseguenza vect.length diventa 1, il tutto in modo automatico.
puoi fare anche:
function riga(valore) {
return valore;
c++;
}
var c=0;
var vect=new Array();
vect[c] = new riga("ciao");
vect[c] = new riga("ariciao");
    ci@o
ŻŻŻŻŻŻŻŻŻŻŻŻŻ
 [Federiko]

 elementi, non FINO A DUE.
A me invece fa un array di un solo elemento, precisamente il numero 2...

Impossibile.
Crea un array di 2 elementi (mi ero sbagliato, aveva ragione Zero), entrambi
di valore undefined (testato con IE4Sp1): prova
<html><head>
<script language='JavaScript'>
 function testarray() {
  var vect=new Array(2);
  alert(vect.length); //restituisce 2
  alert(vect[0]); //restituisce undefined
  alert(vect[1]); //restituisce undefined
 }
 </script>
</head><body onLoad='JavaScript:testarray()'>
</body>
</html>

Ok, funziona


  alert(vect[1]); //restituisce undefined
Aah.. ricordo...


Ok, funziona
Beh, direi che queste sono le piu' o meno le basi del Javascript..


Che restituisce 2 e non 3.













 Che restituisce 2 e non 3.
Ok, penso sia chiaro... Potresti aumentare il timeout nel tuo account?
almeno 2 minuti... altrimenti mandi a ripetizione i messaggi ogni volta che
il server è un attimino lento...
--
N'Drillo

E' al massimo (5 minuti), purtroppo InterBusiness ogni tanto fa di questi
casini, me ne scuso con tutti.

Guarda, una volta una sintassi come quella mi aveva fregato...
colgo l'occasione per chiedere: č cosě [ var bidim = new Array(3)(6) ] che si
fanno gli array multidimensionali?

fanno gli array multidimensionali?
In Javascript gli Array sono monodimensionali. Non esistono Array
multidimensionali, ma solo Array di Array.
Se vuoi creare una griglia di 3x6, devi fare:
var bidim=new Array(3);
for (var i=0;i<bidim.length;i++)
	bidim[i]=new Array(6);
