IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Tri de tableau à 2 dimensions


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par défaut Tri de tableau à 2 dimensions
    Bien le bonjour ami(e) développeur,

    Je viens à vous pour un problème de tableau à 2 dimensions.

    Donc j'ai 2 tableaux à 2 dimensions :
    Le 1er (exemple) : {1,30,4,45,9,58}
    Le 2èmes (exemple) : {3,30,15,45}

    Ce que j'aimerais faire c'est de pouvoir mettre le deuxième tableau dans le premiers, en triant par rapport à la première colonne ce qui donnerait :

    Le tableau final : {1,30, 3,30, 4,45, 9,58, 15,45}

    J'ai commencé à coder un petit truc mais bon c'est pas super ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    //Taille du 1er tableau
    var TailleTableau1 = dataset1.length ; //dataset1 est le 1er tableau
    //alert(TailleDataset1);
     
    //Taille du 2èmes tableau
    var TailleTableau2 = dataset2.length ; 
    //alert(TailleDataset2);
     
    if(TailleTableau1 > TailleTableau2 ){
    	for(var i = 0; i < TailleDataset1; i++){
    		alert(i);
                    //Recuperation donnees colonne 1 tableau 1
    		var Cold1 = dataset1[i][0];
                    //Recuperation donnees colonne 1 tableau 2 ( bug lorsque les tableaux n'ont pas la même taille, normal ^^ ) 
    		var Cold2 = dataset2[i][0];
    		alert(Cold1);
    		alert(Cold2);
    	}
    Voilà si il y aurait une âme charitable qui aurait des idées du comment faire le triage je suis preneur.

    Merci d'avoir lu.
    Cordialement

    Edit: Désoler pour la faute d'orthographe dans le titre...

  2. #2
    Membre confirmé Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Par défaut
    Salut,

    tout d'abord, ce que tu appelles des tableaux sont en fait des objets. Les tableaux se déclarent avec les [].

    Ainsi la déclaration de tes tableaux à 2 dimensions se fait ce cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var array1 = [[1, 30], [4,45],[9,58]];
    var array2 = [[3, 30], [15,45]];
    Pour ce qui de la concaténation et du tri du tableau résultat, cela est assez simple en fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //La fonction concat permet de créer un tableau résultat de la fusion des 2 tableaux
     var array12 = array1.concat(array2);
    //On tri le tableau avec la fonction sort qui prend en paramètre 2 valeurs. On tri sur la valeur de la premiere colonne du sous tableau
    array12.sort(function(a, b) {
        return a[0] > b[0];
    });
     
    //On obtient le résultat suivant
    //[[1, 30], [3, 30], [4, 45],[9, 58],[15,45]]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Par défaut
    Saloute !!

    Ah d'accord, beaucoup de confusion sur les tableaux enfaite désoler...
    Merci pour les infos mais y'a encore un tit souci, ils ne sont pas en 2D

    Donc je sais pas si sa y fait mais voici un exemple :

    1er tableau on a ça : "1,50, 7,500"
    2èmes tableau : "6,400"

    Pour la concaténation tous se passe normal, le 2èmes tableau se met à la suite de l'autre.

    Ensuite vient la fonction "sort", et pour ses 2 tableaux elle fonctionne.
    Donc on obtient bien : "1,50, 6,400, 7,500,"

    Par contre si dans le 2èmes tableaux on a un chiffre égal ou au dessus de 10 sa ne fonctionne pas.

    Par exemple:
    1er tableau on a ça : "1,50, 7,500"
    2èmes tableau : "10,400"

    On obtient : "1,50, 10,400, 7,500"

    Merci

    EDIT: je viens de test un "-" au lieu de ">" dans la fonction sort et sa à l'air d'être cool. J'essaye d'autre test.

    RE EDIT: C'est bien un tableau 2D ou il y a la "concat" et "sort" ! Et sa fonctionne en remplacent le ">" par "-" !

    MERCI!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Tri de tableau à 2 dimensions
    Par heavenvibes dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2008, 02h53
  2. [Tableaux] Problème de tri de tableau à 2 dimensions
    Par lebigboss dans le forum Langage
    Réponses: 1
    Dernier message: 09/05/2007, 16h34
  3. [Tableaux] Problème tri de tableau à deux dimensions
    Par squall62 dans le forum Langage
    Réponses: 21
    Dernier message: 24/05/2006, 18h18
  4. Tri sur tableau à 2 dimensions
    Par Poussy-Puce dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/03/2006, 19h36
  5. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo