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 :

Méthode push dans un Array à plusieurs dimensions


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut Méthode push dans un Array à plusieurs dimensions
    Bonjour à tous.

    J'ai un tableau à 2 dimensions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var arr = new Array();
    	arr[0] = new Array();
    	arr[0][0] = "1";
    	arr[0][1] = "2";
     
    	arr[1] = new Array();
    	arr[1][0] = "4";
    	arr[1][1] = "5";
    Je voudrais utiliser la méthode push pour ajouter des données en fin de tableau.

    Mais comment définir la cellule dans laquelle je veux ajouter?
    Par exemple, je voudrais ajouter 3 en arr[0][2] et 6 en arr[1][2], z'avez une idée..?

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Ca marche pas ca?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    arr[0].push(3)
     
    arr[1].push(6)

  3. #3
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arr.push(new Array("1", "2"));
    ou


  4. #4
    Membre confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut
    Merci doubleU, ça marche impec

    Parfois même les meilleurs chutent..

  5. #5
    Membre confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut
    Rebonjour à vous.
    Je n'arrive toujours pas à faire ce que je veux. Voila mon code, on ne peut plus compliqué..

    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
    var arr = new Array();
    	arr[0] = new Array();
    	arr[1] = new Array();
     
    function remplir(){
     
    	arr[0][0] = "1";
    	arr[0][1] = "2";
     
    	arr[1][0] = "3";
    	arr[1][1] = "4";
     
    }
     
    function afficher(){
    	document.write("00: "+arr[0][0]+"<br />");
    	document.write("01: "+arr[0][1]+"<br />");
    	document.write("02: "+arr[0][2]+"<br />");
    	document.write("03: "+arr[0][3]+"<br />");
     
    	document.write("10: "+arr[1][0]+"<br />");
    	document.write("11: "+arr[1][1]+"<br />");
    	document.write("12: "+arr[1][2]+"<br />");
    	document.write("13: "+arr[1][3]+"<br />");
    }
     
    function ajouter(valeur,colonne){
    	arr[colonne].push(valeur);
    }
    Et un peu plus loin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input type="button" value="Remplir" onclick="remplir();" />
     
     <input type="button" value="Ajouter" onclick="ajouter('nouvelle valeur col0',0);ajouter('nouvelle valeur col1',1);" />
    <input type="button" value="Afficher" onclick="afficher();" />
    Je vous décris maintenant le test.
    J'appuie sur Afficher
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    00: undefined
    01: undefined
    02: undefined
    03: undefined
    10: undefined
    11: undefined
    12: undefined
    13: undefined
    J'appuie sur Remplir et Afficher
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    00: 1
    01: 2
    02: undefined
    03: undefined
    10: 3
    11: 4
    12: undefined
    13: undefined
    Jusque là, tout à fait normal.
    J'appuie alors sur Ajouter et Afficher
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    00: nouvelle valeur col1
    01: undefined
    02: undefined
    03: undefined
    10: nouvelle valeur col2
    11: undefined
    12: undefined
    13: undefined
    Impossible de trouver pourquoi il ne conserve pas les valeurs alors que mon tableau est déclaré en global!
    Quelqu'un voit-il une horreur dans le code que j'aurais zappée??

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    document.write

    concatène le resultat et mets le dasn un textarea ou en innerHTML d'un div ...

    sinon la source de ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	arr[Number(colonne)].push(valeur);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut
    Merci SpaceFrog, c'était ça.

    En appelant la méthode write de document, il me chargeait une nouvelle page. Ca venait de là alors? A chaque fois que la page était rechargée, ça réinitialisait le tableau?


    PS: décidément, ça peut même arriver plusieurs fois de suite aux meilleurs...

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

Discussions similaires

  1. Recherche dans un tableau à plusieurs dimensions
    Par christ84 dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2010, 17h04
  2. Recherche dans un tableau à plusieurs dimensions
    Par Jcpan dans le forum Langage
    Réponses: 5
    Dernier message: 25/01/2010, 10h29
  3. str_replace dans un array multi dimension
    Par night_flyers dans le forum Langage
    Réponses: 4
    Dernier message: 16/10/2009, 10h40
  4. Sort d'un Array à plusieurs dimensions
    Par Phenol dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/07/2009, 19h06
  5. Réponses: 3
    Dernier message: 26/05/2006, 19h49

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