bozocarzu | J'essai desperement de trié un tableau mutlidimentionnel en action script, mais je n'y comprend plus rien.
Code :
- Regarder le code suivant, j'ai mis l'odre de la sortie a chaque fois :
- numbers_array = new Array();
- numbers_array.push({num:4, nom:"quatre"});
- numbers_array.push({num:1, nom:"un"});
- numbers_array.push({num:3, nom:"trois"});
- numbers_array.push({num:2, nom:"deux"});
- //Création d'un tableau de test => Jusque la tous va bien
- for(i in numbers_array){
- trace(numbers_array[i]["num"]); //Affiche 2,3,1,4
- }
- //L'affichage est inversé, mais pourquoi pas ?
- trace("_______" );
- numbers_array.reverse(); //Donc j'inverse le tableau pour voir....
- for(i in numbers_array){
- trace(numbers_array[i]["num"]); //Affiche 1,3,4,2
- }
- //Et là c'est le drame, l'ordre inverse de 2,3,1,4 est 1,3,4,2 !?!?!? Enfin, continuons avec des tris.....
- trace("_______" );
- numbers_array.sortOn("num" ); //Je me dis q'un tri de 1,3,4,2 devrais être 1,2,3,4 ?
- for(i in numbers_array){
- trace(numbers_array[i]["num"]); //Affiche 3,2,1,4
- }
- //Hey bas non, le tri me sort 3,2,1,4 !?!?!?
- trace("_______" );
- numbers_array.sortOn("nom" ); // alors trions, par le nom !!!!
- for(i in numbers_array){
- trace(numbers_array[i]["nom"]); //Affiche un,quatre,deux,trois
- }
- //Toujours raté !! Je ne sais pas, c'est peut la fonction for ... in qui affiche dans l'ordre qu'elle veut ?
|
Si quelqu'un à une idée de comment flash tri ses tableaux mutlimentionnels, ça m'interesse !!! |