Ciao a tutti ... ho un problemino e non riesco a capire perchè non funziona.
creo un array (l'ho semplificato per metterlo qui, non ci saranno solo numeri all'interno dell'array)
poi lo voglio ordinare in base ai punti (decrescente) e al tempo (crescente)
il codice è questo
questo è quello che mi stampacodice:record = "350||70201,940||66796,935||8000,835||366065,935||74629,55||93012,990||79191"; _root.var_record = _root.record.split(","); var rec_big:Array = new Array(); for (i=0; i<var_record.length; i++) { var_record2 = var_record[i].split("||"); var _punti:Number = _root.var_record2[0]; var _tempo:Number = _root.var_record2[1]; rec_big.push({punti:_punti, tempo:_tempo}); } rec_big.sortOn(["punti", "tempo"], [Array.DESCENDING | Array.NUMERIC, Array.NUMERIC]); for (i=0; i<rec_big.length; i++) { trace(rec_big[i].punti+", "+rec_big[i].tempo); }
990, 79191
940, 66796
935, 74629
935, 8000
835, 366065
55, 93012
350, 70201
come vedete il 55 lo considera più grande di 350.
sulla guida ti fa usare proprio Array.NUMERIC per risolvere questo problema... ma niente da fare... è capitato anche a voi??
Come risolvo?
Grazie in anticipo
Emiliano

Rispondi quotando