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 :

tableaux Array à 2 dimensions


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut tableaux Array à 2 dimensions
    bonjour,
    mon problème est simple
    j'ai un tableau à 2 dimensions appelé table en javascript
    je récupère le nombre de lignes du tableau grâce à
    table.length

    mais je ne sais pas comment récupérer en javascript le nombre de colonnes ?

    en fait je veux simplement faire deux boucles imbriquées pour afficher tout le tableau

    merci de votre aide

    @+

  2. #2
    Membre expérimenté Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Par défaut
    table[0].length

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut
    merci !

    j'ai essayé mais ça ne marche pas avec l'exemple ci-dessous, mon alert sur table[0].length ne me donne pas ma bonne valeur

    je ne vois pas ce qui ne va pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    tableau = new Array();
     
     tableau[0,0] = "Name";
     tableau[1,0] = "Firstname";
     tableau[0,1] = "Foster";
     tableau[1,1] = "Jodie";
     
     
     var div_show_titles = document.getElementById('show_titles');
     div_show_titles.appendChild(CreateTableArraySimple(tableau));

    voici le détail de la fonction CreateTableArraySimple(table)

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    function CreateTableArraySimple(table) {
     
            var tbl = document.createElement("table");
            tbl.setAttribute("border", 0);
            var tbody=document.createElement("tbody");
            var thead=tbl.createTHead();
            var tfoot=tbl.createTFoot();
     
            var n=table[0].length;
            alert(n); // affiche la valeur 9 au lieu de 2
            var m=table.length; // affiche bien la valeur 2
            alert(m);
     
            var  tr=document.createElement("tr");
     
            for (var i=0;i<m;i++) {
                var tr = document.createElement("tr");
                for (var j=0;j<n;j++){
                         var td=document.createElement("td");
                         td.appendChild(document.createTextNode(table[i,j]));
                         tr.appendChild(td);
                          }
               }
     
            tbody.appendChild(tr);
     
            tbl.appendChild(thead);
            tbl.appendChild(tfoot);
            tbl.appendChild(tbody);
            return tbl;
     }

  4. #4
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        tableau = new Array(["Name", "Firstname"], ["Foster", "Jodie"]);
     
        alert(tableau[0].length); // 2
        alert(tableau.length); // 2
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  5. #5
    Membre expérimenté Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Par défaut
    Ta syntaxe n'est pas bonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    tableau[0][0] = "Name";
     tableau[1][0] = "Firstname";
     tableau[0][1] = "Foster";
     tableau[1][1] = "Jodie";
    Celle de Arnaud F. fonctionne aussi (mais il a inversé tes éléments).
    Et si tu veux encore plus court :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tableau = [["Name", "Foster"], ["Firstname", "Jodie"]];

Discussions similaires

  1. [Tableaux] Array et Undefined offset
    Par richton95 dans le forum Langage
    Réponses: 10
    Dernier message: 15/03/2006, 22h47
  2. Réponses: 3
    Dernier message: 14/12/2005, 15h17
  3. [Tableaux] Tableau à 2 dimensions
    Par LoST_MiNd dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2005, 16h16
  4. [C] Probleme avec le tableaux de 2 dimension
    Par moniphal dans le forum C
    Réponses: 4
    Dernier message: 27/10/2005, 12h46
  5. [Tableaux] Array() en concret :)
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2005, 11h40

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