Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    36

    Suddividere un Array in più Array

    Ciao a tutti,
    dovrei dividere un array esistente dal numero di elementi variabile in una serie di array contenenti al massimo 3 elementi ciascuno, ma non riesco a capire come farlo; provo a scrivere un esempio per essere più chiaro:

    Array esistente:
    var numberItems:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h");

    Array creati:
    var newNumberItems1:Array = new Array("a", "b", "c");
    var newNumberItems2:Array = new Array("d", "e", "f");
    var newNumberItems3:Array = new Array("g", "h");

    Conosco una funzione chiamata "splice" che dovrebbe fare una cosa del genere ma non so come applicarla.

    Potreste darmi un'idea su cui riflettere e partire?
    Grazie e buon fine settimana.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    36
    A proposito,
    ho dimenticato di scrivere che uso flash 8.0 Pro, ma credo che in questo caso sia poco determinante.

    bye bye

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il codice dovrebbe essere questo
    codice:
    var numberItems:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h");
    var splitted:Number = numberItems/3;
    for(var k = 0; k<splitted; k++){
    	var j:Number = k+1;
    	this["newNumberItems"+j] = numberItems.splice(0, 3);
    }
    attenzione a due cose
    1- non l'ho provato e potrebbe essere sbagliato
    2- con "splice" l'array iniziale viene modificato e gli vengono sottratti gli elementi che andranno a costituire il nuovo array, se non vuoi intaccare l'array iniziale devi usare "slice", così

    codice:
    var numberItems:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h");
    for(var k = 0; k<numberItems.length; k+=3){
    	var j:Number = k+1;
    	this["newNumberItems"+j] = numberItems.slice(k, k+3);
    }
    lo stesso punto 1- vale anche per questo codice

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    36
    Ciao and80,
    dal momento che l'Array iniziale mi serve solo per determinare le successive divisioni utilizzerò il primo script che mi hai mostrato, l'ho già testato e tranne una piccola correzione nella dichiarazione della variabile splitted in cui va aggiunto ".length" è assolutamente perfetto.

    var splitted:Number = numberItems.length/3;

    Non mi resta quindi che ringraziartie ed augurarti una buona domenica.
    Grazie di nuovo!

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Sthunt
    Ciao and80,
    dal momento che l'Array iniziale mi serve solo per determinare le successive divisioni utilizzerò il primo script che mi hai mostrato, l'ho già testato e tranne una piccola correzione nella dichiarazione della variabile splitted in cui va aggiunto ".length" è assolutamente perfetto.

    var splitted:Number = numberItems.length/3;

    Non mi resta quindi che ringraziartie ed augurarti una buona domenica.
    Grazie di nuovo!
    è vero, non l'ho trascritta correttamente


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.