Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Come salvare variabili da un ciclo for???

    Qualcuno Sa dirmi come salvare, o estrarre, le variabili di un ciclo for???


    se ho una cosa del genere


    (ciclo for) {

    var prova= ciclo[i] + 1;

    }

    document.write(prova);






    Ma mi stampa solo l'ultimo risultato...

    Se invece il document.write fosse tra le parentesi graffe del ciclo for, allora verrebbero stampati tutti i valori del ciclo for.

    Se avessi una funzione con due cicli for, non saprei come prelevare i valori di ogni ciclo for :/

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, immagino che l'argomento si riferisca alla tua precedente discussione di cui, personalmente, fatico a comprenderne il senso (trovo il tutto un po' confuso).

    Ad ogni modo, rispondendo a questa richiesta posso dirti che puoi risolvere usando un semplice array in cui memorizzare tutti i valori ottenuti nel ciclo. A quel punto puoi usare l'array come meglio preferisci per recuperarne i valori.

    Un esempio pratico:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
      </head>
      <body>
        <script type="text/javascript">
          var numeri = []; // Dichiaro un array esterno al ciclo (a livello globale), in modo che sia poi accessibile fuori dal ciclo stesso
          for (var i = 0; i<10; i++) {
            numeri.push("Numero "+i); // Uso il metodo push per aggiungere delle voci all'array 
          }
          document.write(numeri.join("<br>")); // Uso il metodo join per ottenere una stringa di tutte le voci e le stampo a video
          // OUTPUT:
          //  Numero 0
          //  Numero 1
          //  Numero 2
          //  Numero 3
          //  Numero 4
          //  Numero 5
          //  Numero 6
          //  Numero 7
          //  Numero 8
          //  Numero 9 
        </script>
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ciao, immagino che l'argomento si riferisca alla tua precedente discussione di cui, personalmente, fatico a comprenderne il senso (trovo il tutto un po' confuso).

    Ad ogni modo, rispondendo a questa richiesta posso dirti che puoi risolvere usando un semplice array in cui memorizzare tutti i valori ottenuti nel ciclo. A quel punto puoi usare l'array come meglio preferisci per recuperarne i valori.

    Un esempio pratico:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
      </head>
      <body>
        <script type="text/javascript">
          var numeri = []; // Dichiaro un array esterno al ciclo (a livello globale), in modo che sia poi accessibile fuori dal ciclo stesso
          for (var i = 0; i<10; i++) {
            numeri.push("Numero "+i); // Uso il metodo push per aggiungere delle voci all'array 
          }
          document.write(numeri.join("<br>")); // Uso il metodo join per ottenere una stringa di tutte le voci e le stampo a video
          // OUTPUT:
          //  Numero 0
          //  Numero 1
          //  Numero 2
          //  Numero 3
          //  Numero 4
          //  Numero 5
          //  Numero 6
          //  Numero 7
          //  Numero 8
          //  Numero 9 
        </script>
      </body>
    </html>

    ECCO !!!!

    avevo provato ad aggiungere gli elementi ad un array con "push" , ma senza utilizzare join .

    Con join credo di essere ad un passo dalla soluzione, ora però c'è un problema...


    ho due cicli for, e di conseguenza due nuove matrici

    se stampo a video:



    codice:
    
    
    
    
    var matrice1 = [
    
    
    /*
    
    1
    2
    3
    4
    5
    
    */ ]
    
    
    
    var matrice2= [
    
    
    /*
    
    10
    20
    30
    40
    50
    
    
    */ ]


    non saprei come creare una matrice finale che abbia questo risultato:

    codice:
    
    [  
    [1,10],
    [2,20],
    [3,30],
    [4,40],
    [5,50],
    ]


    ???

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Puoi creare un array bidimensionale (più propriamente un array di array) aggiungendo, attraverso un ciclo, le coppie di valori che vai a recuperare dai due array.
    Non è così difficile ma intuisco che ti mancano delle nozioni base.

    Ecco un esempio:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
      </head>
      <body>
        <script type="text/javascript">
          var matrice1 = [1,2,3,4,5];
          var matrice2 = [10,20,30,40,50];
          var matrice1_2 = []; // array risultante
          for (var i = 0; i < matrice1.length; i++){
            matrice1_2.push([matrice1[i],matrice2[i]]); // aggiungo le coppie di voci e creo un array bidimensionale
            // è lo stesso che fare:
            //matrice1_2[i] = [matrice1[i],matrice2[i]];
          }
          document.write(matrice1_2.join("<br>")); // nota che le coppie di voci sono automaticamente convertite in stringa con i valori separati da virgola
          // OUTPUT:
          //  1,10
          //  2,20
          //  3,30
          //  4,40
          //  5,50
        </script>
      </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 © 2025 vBulletin Solutions, Inc. All rights reserved.