Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181

    Trasformare array 2d in 1d

    Salve,non sono molto esperto di javascript e avrei bisogno di trasformare un array 2d in un array 1d,ma non so come fare
    Questo è il codice per creare l'array:
    codice:
    line2=new Array();
           line2.push("['"+parseInt(inan[0])+'-'+parseInt(inme[0])+'-'+parseInt(ingi[0])+' '+parseInt(inor[0])+':'+parseInt(inmi[0])+':'+parseInt(insec[0])+"'"+','+' '+parseFloat(instem[0])+"]");
           for(var i=1;i<c;i++){
           if(i!=c-1)
               line2.push("['"+parseInt(inan[i])+'-'+parseInt(inme[i])+'-'+parseInt(ingi[i])+' '+parseInt(inor[i])+':'+parseInt(inmi[i])+':'+parseInt(insec[i])+"'"+','+' '+parseFloat(instem[i])+"]");
           else
              line2.push("['"+parseInt(inan[i])+'-'+parseInt(inme[i])+'-'+parseInt(ingi[i])+' '+parseInt(inor[i])+':'+parseInt(inmi[i])+':'+parseInt(insec[i])+"'"+','+' '+parseFloat(instem[i])+"]");
               }
    e di conseguenza l'output è questo:
    codice:
    ['2011-6-25 12:10:40', 31.25],['2011-6-25 11:40:34', 31.25],['2011-6-25 11:10:29', 30.27],['2011-6-25 10:40:23', 29.79],['2011-6-25 10:10:18', 30.27],['2011-6-24 22:39:56', 29.79],['2011-6-24 22:9:51', 31.25],['2011-6-24 19:23:15', 31.25],['2011-6-24 14:18:18', 32.23],['2011-6-24 13:48:13', 32.71],['2011-6-24 13:18:7', 32.23],['2011-6-24 12:48:2', 31.25],['2011-6-24 12:17:56', 31.25],['2011-6-24 11:17:45', 29.79],['2011-6-24 10:47:40', 29.3],['2011-6-23 23:50:32', 28.32],['2011-6-23 22:50:20', 28.81],['2011-6-23 19:49:54', 29.79],['2011-6-23 18:58:30', 28.32],['2011-6-23 18:28:25', 28.32]
    e invece a me serve così:
    codice:
    [['2011-6-25 12:10:40', 31.25],['2011-6-25 11:40:34', 31.25],['2011-6-25 11:10:29', 30.27],['2011-6-25 10:40:23', 29.79],['2011-6-25 10:10:18', 30.27],['2011-6-24 22:39:56', 29.79],['2011-6-24 22:9:51', 31.25],['2011-6-24 19:23:15', 31.25],['2011-6-24 14:18:18', 32.23],['2011-6-24 13:48:13', 32.71],['2011-6-24 13:18:7', 32.23],['2011-6-24 12:48:2', 31.25],['2011-6-24 12:17:56', 31.25],['2011-6-24 11:17:45', 29.79],['2011-6-24 10:47:40', 29.3],['2011-6-23 23:50:32', 28.32],['2011-6-23 22:50:20', 28.81],['2011-6-23 19:49:54', 29.79],['2011-6-23 18:58:30', 28.32],['2011-6-23 18:28:25', 28.32]]
    Non so se sono riuscito a spiegarmi bene ,ma spero che qualcuno riesca ad aiutarmi lo stesso

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    A parte il fatto che non ti sei spiegato bene perché trasformare un array bidimensionale in un array monodimensionale può comportare diversi tipi di traduzione... ma soprattutto... quello è un array MONODIMENSONALE! le parentesi quadre sono virgolettate, ergo non viene creato un sotto-array. Come in questo esempio qua, per intenderci:

    codice:
    var line2 = [];
    line2.push("[3, 4]");
    alert(typeof line2[0]);

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    181
    Grazie per la risposta,ma dopo un po' mi sono accorto che dovevo fare il contrario e ho risolto così:
    codice:
    line2= new Array();
           for(var i=0;i<c;i++)
              line2[i]=new Array(2);
           for(i=0;i<c;i++){
           line2[i][0]=parseInt(inan[i])+'-'+parseInt(inme[i])+'-'+parseInt(ingi[i])+' '+parseInt(inor[i])+':'+parseInt(inmi[i])+':'+parseInt(insec[i]);
           line2[i][1]=parseFloat(instem[i]);
           }

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.