Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Array multi dimesionale associativo

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    var obj = { livello1 : { livello2 : { livello3 : 'pippo' } } };

    ci accedi cosi

    obj.livello1.livello2.livello3

  3. #3
    Ciao e grazie!
    Funziona fino a che non cambio il nome del 2° livello o comincio a popolare l'array.

    Codice 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); 
    Non riesco a capire

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    cosi stai creando 5 oggetti non uno, e l'ultimo sovrascrive i precedenti...

  5. #5
    Ho notato... Quindi come posso fare per popolare un array con questa struttura in javascript?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    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);

  7. #7
    Ok! Perfetto!

    Ultima cosa, come faccio ad accedere attraverso variabili? Es:

    Codice PHP:
    alert(mensize.$(this).attr('id').fianchi.min); 

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ultima cosa, come faccio ad accedere attraverso variabili? Es:

    Codice PHP:
    alert(mensize.$(this).attr('id').fianchi.min); 
    Ciao, prova così:
    Codice PHP:
    alert(mensize[$(this).attr('id')].fianchi.min); 
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    No, non funziona... Mi dice che la proprietà "fianchi" non è definita.

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    No, non funziona... Mi dice che la proprietà "fianchi" non è definita.
    E' probabile che ci sia qualche altro problema.
    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:
    Codice PHP:
     var mensize = { XS : { fianchi : { min 84max 88 }, gamba : { min 78max 79 } }, size "40-42"};
    alert(mensize["XS"].fianchi.min);// output: 84 
    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".

    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.