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 :

[POO] Tableau multidimensionnel : accès à une dimension complète


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    décembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 29
    Points : 23
    Points
    23
    Par défaut [POO] Tableau multidimensionnel : accès à une dimension complète
    Bonjour,

    J'ai un problème avec un tableau multi-dimensionnel.

    Mon tableau est déclaré d'abord dans la partie principale du programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var population = 20;
    var numGenes = 183;
    // déclaration du génome et remplissage par valeurs à zéro
    //var genome = new Array();
    var genome=new Array(population);
    for (var i=0; i <population; i++) {
        genome[i]=new Array(183)
    } ;
    (Notez l'ancienne manière de le créer qui reste en commentaire).

    Ce tableau est rempli de valeurs aléatoires un peu plus loin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function init() {
        for (var a = 0; a < population; a++) {
                genome[a] = [];
                for (b = 0 ; b < numGenes; b++) {
                    genome[a][b] = Math.random();
                }
        };
    };
    Jusque là le code fonctionne parfaitement.

    PROBLEME : par après, j'essaie de copier ce tableau dans un autre (notez que je passe une partie du code, qui n'a aucun lien avec le tableau dont il est question). Avant même d'en arriver là, je veux simplement afficher le contenu d'une seule dimension via la commande post() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        selectedGenome = [];
        //Copie du génome des individus sélectionnés dans le nouveau génome
            for (var a = 0; a < population; a++) {
                post("genome[a] : "+genome[a]+"\n");                 
            };
    Ce code plante le logiciel alors que le code suivant fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    post("genome[a][0] : "+genome[a][0]+"\n")
    On dirait que je ne peux plus faire référence à une dimension complète de mon tableau, ni au tableau complet. En effet, le code suivant plante aussi le logiciel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    post("Genome : "+genome+"\n")
    Que dois-je changer dans le programme pour que cela fonctionne?
    Quels tests puis-je élaborer pour trouver la faille?

    Merci d'avance pour toute aide.

    Si cela peut s'avérer nécessaire, je précise que j'utilise JavaScript dans un contexte particulier, c'est-à-dire que le script ne tourne pas dans un logiciel de navigation Web mais dans un logiciel de création multimédia appelé Max. Cela étant, le Javascript employé dans Max respecte complètement la norme JS (version 1.5 je crois), seul son D.O.M. est différent, et il me semble d'autre part que pour le code dont il est question ici cela ne change rien.

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 672
    Points : 20 440
    Points
    20 440
    Par défaut
    Avec tout le code PHP que tu postes ton problème est plus du niveau de ce langage, non ?

  3. #3
    Membre à l'essai
    Inscrit en
    décembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 29
    Points : 23
    Points
    23
    Par défaut php? Je vous demande pardon ?
    Citation Envoyé par Kerod Voir le message
    Avec tout le code PHP que tu postes ton problème est plus du niveau de ce langage, non ?
    Quel php? J'hallucine? Ce code est 100% JavaScript !

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Oui ça doit être une méprise ^^
    Ne t'inquiète pas Kerod est d'excellent conseil d'habitude, mais à 2h44 du matin, ça peut arriver ...tout est plus ... flou

    Sinon à part ça, je dois avouer que cette commande post() ne me dit rien... est-ce une méthode d'un objet particulier ? une fonction écrite par toi ? une fonction d'un framework que tu utilises ?

    Autre chose : si les éditeurs de ton outil propose des ressources en ligne, jette peut-être un oeil aussi à leur documentation technique (liste référence de fonctions)...

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 672
    Points : 20 440
    Points
    20 440
    Par défaut
    Effectivement ça doit être la fatigue...Surtout à 2h du matin

  6. #6
    Membre à l'essai
    Inscrit en
    décembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 29
    Points : 23
    Points
    23
    Par défaut OK!
    Oui à 2 h du matin on n'est pas toujours frais. Moi aussi il m'arrive régulièrement de travailler de nuit, je sais ce que c'est...

    Pour en revenir à mon problème, la commande post permet d'afficher des infos dans la fenêtre de déboguage de Max (cf. remarque en bas de mon premier post).

  7. #7
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Fais déjà un essai en remplaçant tes post par des alert, histoire de savoir si c'est la transformation implicite de tableau en chaine qui pose un problème à ta fonction de débugage

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

Discussions similaires

  1. [MySQL] Problème de tableau multidimensionnel dans une session
    Par harkness dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/02/2011, 11h06
  2. [PHP 5.1] Trie multicritère d'un tableau d'objets à une dimension.
    Par marcandre dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2010, 16h01
  3. Question de modélisation multidimensionnelle d'une dimension produits
    Par clementratel dans le forum Conception/Modélisation
    Réponses: 1
    Dernier message: 21/07/2009, 15h02
  4. Tableau multidimensionnel dans une requète
    Par Mordoum dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/06/2007, 17h20
  5. [POO] Problème d'accès à une variable privée
    Par Nadd dans le forum Langage
    Réponses: 8
    Dernier message: 17/09/2006, 21h43

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