Newsgroup: it.comp.lang.javascript
Titolo: Definizione matrice

Qualcuno mi potrebbe dire cos'è una matrice javascript e a che cosa serve ?
Ringrazio anticipatamente tutti coloro che mi volessero rispondere :-))))

 Qualcuno mi potrebbe dire cos'è una matrice javascript e a che cosa serve ?
  E' un insieme di oggetti o dati non necessariamente omogenei.
  Serve ad indicizzare comodamente ognuno degli oggetti contenuti.
  var a = 1;
  var b = 2;
  var c = 3;
  var d = 5;
  var e = 8;
  nel caso si dovesse accedere nel breve spazio di qualche riga di codice
 a valori delle singole  variabili conviene poterne accedere tramite vettore:
    var  vettore = new Array(1,2,3,5,8);
    vettore[2] == 3
  Le matrice multidimensionali in JavaScript sono in sostanza array di array
    var matrice = new Array(new Array,new Array, new Array);
  Questa e' un modo per dichiarare una matrice bidimensionale
  utile per immagazzinare dati correlati a coppie.
  matrice[0][0] = "Mela";
  matrice[0][1] = "Pera";
  matrice[0][2] = "Pesca";
  matrice[1][0] = "Gatto";
  matrice[1][1] = "Cane";
 in 
www.jsdir.it
 trovi in User-script sezione Utility un mio script
 "TO_array" che nella prefazione ti introduce alla definizione delle
 matrici.
  Pero' c'e' un altro tipo di matrice (poco usata):
var ZOO = [{"Insetti":["Pulce","Mosca","Cavalletta"],"Quantita":[5,3,1]},
    {"Serpenti":["Cobra","Pitone","Vipera","Orbettino"],"Quantita":[4,8,7,15]},
    {"Pesci":["Delfino.","Balena","Orca"],"Quantita":[2,1,8]}];
 ZOO.length == 3
 ZOO[0].Insetti == "Pulce,Mosca,Cavalletta"
 ZOO[0].Insetti[1] == "Mosca"
 ZOO[1].Quantita[0] == 4
 alert(eval(ZOO[2].Quantita.toString().split(",").join("+")));
 Che risultato ottieni ?
 Carino no ?

  Carino no ?
Mitico!
Mi hai aperto un nuovo mondo!
Grazie di esistere  ;-)
Matteo


Veramente forte la cosa!!!
Ma quanto non hai niente da fare?
Ma quanto ti invidio?
   Vlad

 , {"Pesci":["Delfino.","Balena","Orca"],"Quantita":[2,1,8]}];
Ah, ci sono gli hash array anche in javascript... bene :)
-- 
Oramai che i baci tuoi piu` non mi sazian
cerchero` un'altra donna dentro ai sogni di Tarzan

 Ah, ci sono gli hash array anche in javascript... bene :)
Dall'esempio mi sembra, più che un hash come quelli del Perl, un array di
**oggetti senza nome** (qui: 3) e diversi tra loro, il primo con gli
attributi Insetti e Quantita, il secondo con gli att. Serpenti e Quantita,
il terzo Pesci e Quantita, ognuno dei quali è a sua volta un array
L'uso che se ne può fare è però molto simile
Matteo

 L'uso che se ne può fare è però molto simile
Quello e` certo :)
Anche se credo che espressioni come (keys %Hash) qui siano ben lungi :-/


 Anche se credo che espressioni come (keys %Hash) qui siano ben lungi :-/
Non tanto!
Prima ho usato
for (var prop in nomeOggetto)
   document.write(prop)
che ti permette di accedere a tutte le properties dell'oggetto (o meglio: al
nome delle properties dell'oggetto)
Ciao
Matteo

 nome delle properties dell'oggetto)
esattamente come in perl: for (keys %hash) { print "$_ = $hash{$_}\n" }


 esattamente come in perl: for (keys %hash) { print "$_ = $hash{$_}\n" }
foreach (o sbaglio?)
Ciao
Matteo

 foreach (o sbaglio?)
Non necessariamente, funziona benone anche cosi` :)


 Anche se credo che espressioni come (keys %Hash) qui siano ben lungi :-/
  Non conosco Perl ma non sottovalutare la forza della
programmazione OOP di javascript.

 programmazione OOP di javascript.
Non sottovaluto, e certo il Perl non lo porto avanti per l'OOP quanto
per la praticita` (la "P" del nome) che lo contraddistingue, e per
l'ampio uso di funzioni basate su regex (li` perl batte js 100 a 1).
Comunque il perl lo uso per le cgi, e spesso e volentieri il codice
javascript lo genero on the fly da perl a seconda delle esigenze.
Uso anche il php, che trovo comodo ed ineguagliabile per il quick&dirty
... ma per fare programmi seri -se non ti va di sbatterti in C e di
reinventare l'acqua calda- o vai di perl o ti butti sulle servlet java
(e francamente java m'appalla quasi quanto il C ;))


 Non sottovaluto, e certo il Perl non lo porto avanti per l'OOP quanto
 Ehi mi stavi proprio aspettandomi al varco :-)