begin process at 2012 05 30 02:27:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Tri de tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tri de tableau

vendredi 15 septembre 2006 à 18:56:18 | Tri de tableau

Evangun

Bonjour à tous,

je me demande pourquoi quand je trie mon tableau alphabétiquement, ils sont tous bon sauf le premier qui est mis en dernière position ! et je me suis rendu compte que l'ordre du tableau avant que je le trie avait une influence sur son ordre après le tri, ce qui est le comble.
En vrai, j'utilise une fonction de callback un tout petit plus compliqué mais à peine (histoire de colonne de tableau). Mais même en utilisant sort() tout court, j'ai le même problème.

        function tri_contacts(a, b){    //fonction callback pour le tri du tableau contacts
            if(a.toUpperCase() > b.toUpperCase()){
                return 1;
            }
            else {
                return -1;
            }
        }
      

            for(i in contacts){
                document.write(contacts[i]);      //pour voir le tableau
            }
            contacts = contacts.sort(tri_contacts);
           
            for(i in contacts){
                document.write(contacts[i]);      //pour voir le tableau
            }


le tableau à l'origine :
Lamlin Meliline Alineme Kapersky Bouloré Vakhoff

après le tri :
Bouloré Kapersky Lamlin Meliline Vakhoff Alineme

merci d'avance !
samedi 16 septembre 2006 à 07:23:27 | Re : Tri de tableau

bultez

Membre Club
bonjour,
    _ erreur : contacts = contacts.sort(tri_contacts); 
    _ faudrait voir comment est décrit le tableau, comment on appelle
          les fonctions....
    _ pour le moins curieux d'avoir à trier un tableau conçu, à priori,
          comme un tableau associatif ?

                cordialement   Bul     mon Site     M'écrire
samedi 16 septembre 2006 à 20:59:22 | Re : Tri de tableau

Evangun

Bonjour Bultez,
tu as raison pour le tri d'un tableau associatif : de toute façon ça me pose problème qu'il réinitialise les clés, je ne dois pas utiliser sort...

Après un test, le constat est simple :
mon tableau était par exemple (il n'existe pas forcément de tab[0] ou de tab[2]) :

tab[1][nom] = Pierre
tab[1][mail] = pierre@yahoo.fr
tab[5][nom] = Alain
tab[5][mail] = alain@yahoo.fr
tab[3][nom] = Jean
.....

et en utilisant sort, si je fais un dump, ça me donne ça :

tab[1][nom] = Jean
tab[1][mail] = jean@yahoo.fr
tab[2][nom] = Pierre
tab[2][mail] = pierre@yahoo.fr
.......
et seulement à la fin :
tab[0][nom] = Alain
tab[0][mail] = alain@yahoo.fr

donc en fait quand il trie mon tableau, il met la case 0 tout à la fin.
Je fais autrement pour l'instant donc le problème ne se pose plus, mais c'est bizarre, c'est pareil sous IE et FF.
à+
dimanche 17 septembre 2006 à 07:51:01 | Re : Tri de tableau

bultez

Membre Club
Réponse acceptée !
on ne trie pas un tableau associatif,
et on n'utilise pas non plus d'indice.

var tab=new Array();
tab["Pierre"]="pierre@yahoo.fr";
tab["Alain"]="alain@yahoo.fr"; 
tab.sort();
for ( var a in tab ) 
      alert(a);

attention aux majuscules/minuscules pour le tri

cordialement   Bul    
mon Site    M'écrire
dimanche 17 septembre 2006 à 10:02:22 | Re : Tri de tableau

bultez

Membre Club

euh... je ne sais pas si j'ai été très clair...

sont-ce mes gouttes prises hier soir dans mon bourbon 
   ou le vin rouge du petit déjeuner ce matin qui était frelaté....


<HTML Lang="fr">
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<Script type="Text/JavaScript"><!----------
var tab=new Array();
tab["pierre"]="pppp";
tab["alain"]="aaaa";
tab.sort();
for ( a in tab )
    alert ( a+"="+tab[a] );
//----------></Script>
</BODY></HTML>

on peut bien entendu faire du multi zones ( tab["cle"]=new Array()... )


cordialement   Bul    mon Site    M'écrire
lundi 18 septembre 2006 à 09:52:06 | Re : Tri de tableau

Evangun

Merci Bultez, je trouve ça assez contraignant mais bon... vive les tri du php !
merci encore
lundi 18 septembre 2006 à 10:10:39 | Re : Tri de tableau

bultez

Membre Club
contraignant ? Etonne.gif
   le tri ? array.sort(), et c'est tout, difficile de faire plus court/mieux !
   le tableau associatif ? on n'est nullement obligé d'utiliser "l'associatif'"
      ( même si ça me semble bien propre sur soi ).

            cordialement      Bul       mon Site       M'écrire
mardi 19 septembre 2006 à 08:31:02 | Re : Tri de tableau

Evangun

Justement !
une seule option de tri, et celle du callback, c'est limité! qd on vient de php, on regrette les options insensibles à la casse, tri naturel, constantes de tri, tri inverse, tri par clés, tri avec ou sans reinitialisation des clés, tri multidimensionnel standardisé...
donc c'est contraignant de faire des tableaux qui doivent obligatoirement être construits de manière à fonctionner avec les fonctions natives de javascript.
mardi 19 septembre 2006 à 10:20:56 | Re : Tri de tableau

bultez

Membre Club
"un peu" plus complet nativement en php, certes.
faut le faire dans ce langage si c'est mieux.
pas "trop difficile" de concevoir ces fonctions en javascript,
   on doit même les trouver sur le web à mon humble avis.

            cordialement   Bul    mon    Site    M'écrire


Cette discussion est classée dans : trie, ordre, tableau, tri, contacts


Répondre à ce message

Sujets en rapport avec ce message

tableau avec tri dynamique [ par rcedric ] Salut a tous,voila mon probleme; je cherche à afficher un tableau et que lorsqu l'on clic sur le libellé le tableau est trié et réafficher dynamiqueme tri d'un tableau numérique [ par sylcasi ] bonjour,je suis encore en panne :comment faire pour trier un tableau numérique :sachant que c'est un tableau à plusieurs colonnes dont la première est pb tri tableau! [ par joduak ] salut je voudrai savoir comment on fait un tri d'un tableau javascript de nombres? genre: tableau[0]=4 tableau[1]=8 tableau[2]=23 etc...dans l'ordre c Tri de tableau associatif [ par cydelic ] Bonjour, J'ai un petit problème de tri... je vous explique Rien de bien compliquer, j'ai un tableau associatif du genre : var tab = new Array(); tab Tri de colonnes d'un tableau html grâce à un js [ par ebenedzer ] SalutJe n'arrive pas à trouver comment je peux trier les colonnes d'un tableau fait en html, à l'aide d'un javascript.Est-ce que je dois mettre des ba trie tableau gen avec php [ par mouness ] bonjour a tous alors SVP j'ai  un tableau qui est generer avec du php comme ci-dessous:                                         <t Tri d'un tableau associatif [ par flexx ] BonjourJe souhaite savoir s'il est possible d'effectuer un tri sur un tableau associatif.Par exemple, si j'ai le tableau suivant :tab["val2"] = "test1 tri de tableau multiple [ par PROTECTIONNISTE ] Bonjour,Je voudrais pouvoir classer via un élèment de tableau et ressortir ce tri convenablement. j'expliques car pour le moment ça veut rien dire ;-) Trier dynamiquement un tableau HTML (à l'aide de XML, XSL, Javascript) [ par edevouge ] Bonjour, Dans le cadre d'un stage, j'ai besoins de créer un tableau html à partir d'un fichier XML et d'un fichier XSL. Et grâce au JavaScript, je v Tri à bulles d'un tableau HTML [ par Airman31 ] Tout d'abord bonjour à tous, J'ai besoin d'un petit coup de main pour une fonction Javascript que je suis en train d'implémenter : tri à bulle sur un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales