Ciao a tutti,
Voglio creare un array associativo di 3 dimensioni cosi:
var = [1°livello][2°livello][3°livello]= valore
Come posso fare? Ho provato in vari modi ma non ci riesco a recuperare il valore.
Vengo da PHP ed è tutto molto + semplice![]()
Ciao a tutti,
Voglio creare un array associativo di 3 dimensioni cosi:
var = [1°livello][2°livello][3°livello]= valore
Come posso fare? Ho provato in vari modi ma non ci riesco a recuperare il valore.
Vengo da PHP ed è tutto molto + semplice![]()
var obj = { livello1 : { livello2 : { livello3 : 'pippo' } } };
ci accedi cosi
obj.livello1.livello2.livello3
Ciao e grazie!
Funziona fino a che non cambio il nome del 2° livello o comincio a popolare l'array.
Non riesco a capireCodice PHP:var mensize = { XS : { fianchi : { min : 84 } } };
var mensize = { XS : { fianchi : { max : 88 } } };
var mensize = { XS : { gamba : { min : 78 } } };
var mensize = { XS : { gamba : { max : 79 } } };
var mensize = { XS : { size : "40-42" } };
alert(mensize.XS.fianchi.min);
![]()
cosi stai creando 5 oggetti non uno, e l'ultimo sovrascrive i precedenti...
Ho notato... Quindi come posso fare per popolare un array con questa struttura in javascript?
come ti ho detto prima:
var mensize = { XS : { fianchi : { min : 84, max : 88 }, gamba : { min : 78, max : 79 } }, size : "40-42"};
alert(mensize.XS.fianchi.min);
alert(mensize.XS.fianchi.max);
alert(mensize.XS.gamba.min);
alert(mensize.XS.gamba.max);
alert(mensize.size);
Ok! Perfetto!
Ultima cosa, come faccio ad accedere attraverso variabili? Es:
Codice PHP:alert(mensize.$(this).attr('id').fianchi.min);
Ciao, prova così:Ultima cosa, come faccio ad accedere attraverso variabili? Es:
Codice PHP:alert(mensize.$(this).attr('id').fianchi.min);
Codice PHP:alert(mensize[$(this).attr('id')].fianchi.min);
Installa Forum HTML.it Toolset per una fruizione ottimale del Forum
No, non funziona... Mi dice che la proprietà "fianchi" non è definita.
E' probabile che ci sia qualche altro problema.No, non funziona... Mi dice che la proprietà "fianchi" non è definita.
Ad ogni modo per accedere dinamicamente all'array devi utilizzare le parentesi quadre in cui va inserito, come stringa, il nome della proprietà.
L'array chiaramente deve essere già stato creato con tutte le sue proprietà.
Ad es:
Utilizzando una variabile (nel tuo caso, un valore recuperato da un selettore jquery) assicurati che tale valore corrisponda alla proprietà dell'array con cui stai lavorando. Cioè $(this).attr('id') nell'esempio postato, deve restituire esattamente il valore stringa "XS".Codice PHP:var mensize = { XS : { fianchi : { min : 84, max : 88 }, gamba : { min : 78, max : 79 } }, size : "40-42"};
alert(mensize["XS"].fianchi.min);// output: 84
Ad es:
codice:<!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function() { var mensize = { XS : { fianchi : { min : 84, max : 88 }, gamba : { min : 78, max : 79 } }, size : "40-42"}; $("#XS").click(function(){ alert(mensize[$(this).attr('id')].fianchi.min); }) }); </script> </head> <body> <div id="XS">id=XS (clicca)</div> </body> </html>
Installa Forum HTML.it Toolset per una fruizione ottimale del Forum