Newsgroup: it.comp.lang.javascript
Titolo: matrici

Ciao a tutto il NG....
come faccio a dichiarare una matrice mat(x,y)
non conoscendo la dimensione?
E per gestirla?
(Fino ad ora ho in JS avevo usato solo array)
Grazie a tutti.
Andrea.

....devo fare per forza un Array di un Array?

in poche parole ho questo problema.
Devo popolare un combo_box utilizzando i dati di una tabella.
Ma non devo prenderli tutti, ma solo quelli di una scelta che faccio in un
altro combo box.
Se io ricaricassi la pagina non avrei problemi, ma io non voglio ricaricare
la pagina.
Quindi volevo salvare i dati che ho dal recordset in un Array in javascript
con questo script:
rs.Open query, dbconn
while not rs.EOF
    response.write "< SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>"
    response.write "<--!"
    response.write      "a = new Array(" & conta & ")"
    response.write      "for (i=0; i < " & conta & "; i++) "
    response.write      "{"
    response.write           " a[i] = new Array(" & conta & ")"
    response.write           "for (j=0; j < " & conta & "; j++)"
    response.write            "{"
    response.write                "a[i][j] = '['" &
rs.Fields("cod_ciclorev")& "','" & rs.Fields("codice_rev") & "']'"
    response.write            "}"
    response.write       "}"
    response.write  "</SCRIPT>"
wend
solo che non me lo vede poi questo array.....
qualcuno ha qualche idea?
Ciao a tutti.
Andrea.

mi sa di sě
var arr=new Array();
arr[arr.length]=new Array("a","b","c");
arr[arr.length]=new Array("d","E","f");
.....

ho guardato al volo, non so se l'errore è solo questo
Stai dichiarando a per ogni record => ogni volta lo sovrascrivi
Prima dichiara a (var a=new Array())
Poi dentro il ciclo segui la tua logica (non serve dimensionarlo prima: se
p.e. fai a[2] e a[0]/a[1] non esistono vengono automaticamente creati)

Grazie Cristiano...ma non mi funziona una pippa.
Ora vado alla ricerca su qualche sito per cercare
un qualcosa che possa assomigliare al mio problema...
ciao ciao

Ok all'interno di un blocco VBScript ho dichiarato una matrice in JavaScript
response.write "
response.write "
response.write "
response.write "
response.write "
response.write "
response.write "
response.write "
response.write "
response.write "

Scusate per il messaggio precedente ....chiaramente non era finito.....
Ok all'interno di un blocco VBScript ho dichiarato una matrice in JavaScript
 response.write "<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>"
 response.write "<!--"
 response.write "vet = new Array()"
 response.write "string vet[][]="
 response.write "{"
while not rs.EOF
     response.write "{'" & rs.Fields("cod_ciclorev") & "','" &
rs.Fields("codice_rev") & "'}"
     rs.MoveNext
wend
 response.write "}"
response.write "-->"
response.write "</script>"
Se lancio la pagina e guardo l'HTML vedo che la matrice l'ha costruita bene.
Ora se voglio scorrere i suoi elementi in un altro punto del programma
(all'interno di una funzione), come faccio?
Non riesco a dichiarare una specie di variabile globale in javascript (es.
vet all'inizio del blocco javascript)
Aspetto un vostro bel consiglio.
Grazie.
Andrea.

sai che non riesco a capire che sintassi stai usando per creare l'array?
In JS una variabile dichiarata al di fuori di una function è globale => la
var vet è globale e quindi dovresti poterla leggere.
vedi se un qualcosa come questo può esserti utile:
Response.write("var ver=new Array();");
while(!rs.eof) {
 Response.write("ver[ver.length]=new
Array('"+rs("cod_ciclorev").value+"','"+rs("codice_rev").value+"');");
 rs.movenext();
}

Grazie Cristiano,
per ora ho risolto con un altro metodo....(costruisco uno stringone su un
campo nascosto e poi lo gestisco con dei cicli nel JavaScript...prendendo le
parti che mi interessano.)
E' un po' più laborioso ma funziona....quando avrò tempo cercherò di
ottimizzare con il tuo metodo.
Grazie ancora.
Andrea.