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 :

Fonction retourne plusieurs objects


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut Fonction retourne plusieurs objects
    Bonjour,
    j'ai un soucis avec le retour d'une fonction. Je voudrais concaténer des objets qui sont issus du retour de ma fonction. Je suis sûr que le retour est correct car je peux console.log dans la fonction en elle même et tout est OK. Si je déclare ma variable dans mon for, un objet (le dernier) m'est renvoyé, ce qui est normal. Par contre, chose étrange, si je déclare ma variable hors de la boucle et que je concatène ces retours, je reçois
    [object Object][object Object][object Object]
    Je ne vois pas pourquoi une telle situation se produit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    app.get('/', function(req, res) {
        res.contentType('application/json');
        fs.readFile(__dirname + '/monFichier.xml', function(err, data) {
            parser.parseString(data, function (err, result) {
                var tabOfObject = level1.level2.level3.object;
                var data = "";
                for (var object in tabObject){
                    data = data + maFonction(tabObject,tabObject[object]);
                }
                console.log(data);
                res.send(data);
            });
        });
    });
    J'espère que vous pourrez m'aider.
    Merci.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 939
    Points : 44 109
    Points
    44 109
    Par défaut
    Bonjour,
    Par contre, chose étrange, si je déclare ma variable hors de la boucle et que je concatène ces retours,...
    que retourne la fonction ?

    Pourquoi utiliser une variable du même nom que le paramètre, data en occurrence ?

    Il serait peut être plus judicieux de mettre le résultat dans un tableau, mais cela dépend également de la réponse à ma première interrogation.

  3. #3
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Ma fonction retourne plusieurs objets. Je ne peux pas utiliser de tableau car je dois envoyer mon JSON avec une certaine forme.
    En revanche, effectivement le fait d'utiliser le même nom de variable n'est pas judicieux.

    Edit : Problème résolu, il fallait faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JSON.stringify(Object);
    dans Par contre, j'ai une question : J'obtiens :
    {"propriété1":"valeur1","propriété2":"valeur2"}
    {"propriété1":"valeur1","propriété2":"valeur2"}
    {"propriété1":"valeur1","propriété2":"valeur2"}
    Est-ce qu'il y a un moyen de ne pas avoir les " " pour les propriétés ?
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 939
    Points : 44 109
    Points
    44 109
    Par défaut
    Est-ce qu'il y a un moyen de ne pas avoir les " " pour les propriétés ?
    tu veux faire l'économie de caractères !?! seulement voilà c'est du format JSON valide.

    J'ai quand même du mal à comprendre ta démarche, concaténer des stringJSON pour pouvoir les envoyer et ne pas fusionner tes objets et faire un JSON.stringify sur l'objet résultat, qui pourrait d'ailleurs être un Array d'objets ?

  5. #5
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Oui en fait, j'utilise une bibliothèque qui prend ce format de donnée, cependant même si je mets les "" ça fonctionne donc c'est bon.
    Merci.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 939
    Points : 44 109
    Points
    44 109
    Par défaut
    ...cependant même si je mets les "" ça fonctionne donc c'est bon.
    encore heureux puisque c'est la norme
    http://www.ecma-international.org/pu...T/ECMA-404.pdf

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/03/2010, 19h20
  2. Réponses: 1
    Dernier message: 22/10/2009, 15h34
  3. Réponses: 13
    Dernier message: 13/08/2007, 15h29
  4. Fonction retournent plusieurs valeurs
    Par Futixu dans le forum C++
    Réponses: 18
    Dernier message: 15/06/2006, 23h49
  5. Fonction retournant plusieurs valeurs
    Par Trap D dans le forum Scheme
    Réponses: 1
    Dernier message: 17/02/2006, 22h52

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