Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Trasformare pos da 1 .. 9 a 01.. 09

    //------------------------------------------
    stop();
    var NUMERI_SCELTI = new Array();
    var sublist = new Array();
    //var a_length = range; //lunghezza dell'array TUTTI
    function genera_sistema_da_tabella() {
    var n_length = quanti; // lunghezza dell'array COMPONENTI
    var n_array = quante; // lunghezza dell'array COMBINAZIONI GENERATE
    function generateNew(origin,len) {
    var gen = new Array();
    for (var i = 0; i<len; i++) {
    var pos = Math.round(Math.random()*origin.length)-1;
    gen.push(origin.splice(pos, 1));
    }
    return gen;
    }
    while (n_array) {
    var temp = generateNew(NUMERI_SCELTI.slice(), n_length);
    sublist.push(temp);
    n_array--
    array_disordinato= _root.sublist.slice().join(" \n ")
    _root.testo4.text =array_disordinato;
    numeriscelti=_root.testo4.text =array_disordinato;
    }
    }
    //--fine

    Dato il codice soprastante...

    pos = numero generato dinamicamente e aggiunto all'array gen
    sublist = insieme di array gen

    Come posso nel caso pos sia uguale a 1 o a .. 9 sostituirlo con i corrispettivi 01 .. 09 e far si che anche in sublist mi rimanga tale sostituzione?

    Ho provato con switch (pos) (

    case 1:
    pos="01";
    beak;

    ecc..

    )

    ma me lo sostituisce solo temporaneamente...

    ovvero se metto un campo dinamico per visualizzarlo dopo la modifica effettivamente lo vedo modificato in 01 ad es.. ma in sublist mi ritorna uguale a 1...

    Io devo trasformare i valori dall'1 al 9 in rispettivi 01.. 09 perchč altrimenti nn mi si ordinano regolarmente con la funzione

    temp.sort();
    nč con temp.sort(funzione apposita);
    nč con temp.sort(Array.NUMERIC) come ultimamente suggeritomi..

    con 01..09 invece i valori verrebbero correttamente ordinati anche con un semplice sort();

    Grazie a tutti/e per il vostro aiutino about!


  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Puoi mettere il codice completo, compresa la generazione (con dei trace e senza i campi di testo)?

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Il codice riportato sopra č...

    Presente nel frame che interessa ed č riportato sopra per intero

    Non saprei cosa aggiungere..

    :master:

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Scusa, rileggendo meglio: qual'č esattamente il problema, che non riesci ad ordinare un array?

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Si per l'essattezza l'array che nn mi si ordina č...

    temp

    che sarebbe l'insieme dei valori pos generati dinamicamente e che non riesco a trasformare in 01..09

    l'array temp č in sostanza una combinazione di n numeri (pos)

    Il problema č che se risulta...ad esempio...

    1,45,7,9,10 ecc...

    e cerco di ordinarlo in modo ASC con una delle soluzioni possibili (ne ho provate davvero molte...)

    temp.sort();

    temp.sort(function standard di ordinamento);

    temp.sort (Array.NUMERIC);

    allorchč vado a rivisualizzare temp.. (sperando che sia ordinato..)
    lo rivedo inesorabilmente uguale...

    1,45,7,9,10 ecc...

    oppure nel caso migliore... (usando la funzione pura temp.sort(); )

    con i numeri a due cifre ordinati correttamente e quelli ad una cifra (1..9) che appunto vorrei almeno trasformare in 01..09 ordinati in modo strano ovvero risultanti maggiori rispetto a numeri a due cifre che hanno pero' la prima cifra piu' piccola es:

    1,2,34,4,56,7 ecc...

    Spero di essere stato piu' chiaro

    Grazieee


  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Scusa:
    codice:
    var test = [1,45,7,9,10];
    trace(test);
    test.sort();
    trace(test);
    test.sort(Array.NUMERIC);
    trace(test);
    non č quello che vuoi?
    Eventualmente:
    codice:
    var test = [1,45,7,9,10];
    trace(test);
    test.sort();
    trace(test);
    test.sort(function(a,b){return Number(a) > Number(b);});
    trace(test);

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Purtroppo con es. statici...

    Tipo quelli da te riportati funziona sempre tutto..

    e' quando si tratta l'array temp dinamico.. che sorgono i problemi...

    :master:

  8. #8
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    perchč nel mio caso nn funge? :|

    Usando...

    temp.sort(function(a,b){return Number(a) > Number(b);});
    trace(temp);

    all'interno del seguente codice..

    //------------------------------------------------
    stop();
    var tutti = new Array();
    var sublist = new Array();

    function genera_sistema() {


    var a_length = range; //lunghezza dell'array TUTTI
    var n_length = quanti; // lunghezza dell'array COMPONENTI
    var n_array = quante; // lunghezza dell'array COMBINAZIONI GENERATE


    while (a_length) {

    tutti.unshift(a_length--);
    _root.testo.text = tutti.join(" - ");

    }

    function generateNew(origin, len) {

    var gen = new Array();

    for (var i = 1; i<len; i++) {


    var pos = Math.round(Math.random()*origin.length)-0;


    gen.push(origin.splice(pos,1));



    //verificavalore=gen; //combinazione...


    }



    return gen;

    }

    while (n_array) {

    var temp = generateNew(tutti.slice(), n_length);

    temp.sort(function(a,b){return Number(a) > Number(b);});
    trace(temp);



    sublist.push(temp); //insieme di combinazioni


    n_array--

    array_disordinato= _root.sublist.slice().join(" \n ")


    _root.testo2.text =array_disordinato;

    }

    }

    //------------------------fine codice------------------

    nn funge... e temp mi risulta sempre una combinazione con i valori componenti non ordinati in maniera ascendente..

    Non so piu' a che santo rivolgermi..

  9. #9
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Nn importa piu'! :)

    Grazie

    Ciao a tutti/e

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.