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 :

utilisation d'eval pour acc�der � un objet?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Par d�faut utilisation d'eval pour acc�der � un objet?
    j'aimerai acc�der � un champ d'un objet de la mani�re suivante:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    data[i].lc_qte.# valeur de lc[x] #
    Est ce que je dois utiliser eval()? Si oui comment car je ne m'en suis jamais servi.

  2. #2
    Membre �m�rite

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par d�faut
    n'a rien compris

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Par d�faut
    voila un dump de mes variables:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    data[].lc_qte:
    {"26\/07\/2011 10:18:00":[{"QTE":1,"ID_PRODUIT":3771},{"QTE":2,"ID_PRODUIT":3772},{"QTE":3,"ID_PRODUIT":3773},{"QTE":4,"ID_PRODUIT":3774},{"QTE":5,"ID_PRODUIT":3775},{"QTE":12,"ID_PRODUIT":3776},{"QTE":13,"ID_PRODUIT":3777},{"QTE":14,"ID_PRODUIT":3778},{"QTE":15,"ID_PRODUIT":3779},{"QTE":16,"ID_PRODUIT":3780},{"QTE":17,"ID_PRODUIT":3781},{"QTE":18,"ID_PRODUIT":3782},{"QTE":19,"ID_PRODUIT":3783}],
    "26\/07\/2011 10:33:00":[{"QTE":20,"ID_PRODUIT":3771},{"QTE":19,"ID_PRODUIT":3772},{"QTE":18,"ID_PRODUIT":3773},{"QTE":17,"ID_PRODUIT":3774},{"QTE":15,"ID_PRODUIT":3775},{"QTE":14,"ID_PRODUIT":3776},{"QTE":113,"ID_PRODUIT":3777},{"QTE":12,"ID_PRODUIT":3778},{"QTE":11,"ID_PRODUIT":3779},{"QTE":10,"ID_PRODUIT":3780},{"QTE":9,"ID_PRODUIT":3781},{"QTE":8,"ID_PRODUIT":3782},{"QTE":7,"ID_PRODUIT":3783}],
    "26\/07\/2011 10:34:00":[{"QTE":1,"ID_PRODUIT":3772},{"QTE":1,"ID_PRODUIT":3777},{"QTE":1,"ID_PRODUIT":3781},{"QTE":1,"ID_PRODUIT":3783}],
    "26\/07\/2011 11:23:00":[{"QTE":1,"ID_PRODUIT":3775},{"QTE":1,"ID_PRODUIT":3776},{"QTE":1,"ID_PRODUIT":3782}]}
     
     
    lc:
    ["26/07/2011 10:18:00", "26/07/2011 10:33:00", "26/07/2011 10:34:00", "26/07/2011 11:23:00", false]

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Regarde plutot du cot� de JSON (1, 2, 3) et notamment JSON.parse() pour r�cup�rer des objets � partir de ces chaines.

    Un peu de patience, les messages "EVAL, c'est mal " ne vont pas tarder (et je ne leur donne pas tort, d'o� la piste que je propose )

    Si oui comment car je ne m'en suis jamais servi.
    (Il n'est pas encore contamin�, il n'est pas trop tard pour agir, les gars ! )

  5. #5
    Invit�
    Invit�(e)
    Par d�faut
    Eval c'est mal

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    data.lc_qte[lc[x]];//si x vaut 0, correspond à ["QTE":1,"ID_PRODUIT":3771},...

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Par d�faut
    je sais que c'est mal et c'est bien pour ca que je pr�ciser que je ne m'en suis jamais servi!

  7. #7
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Sans revenir sur eval() en lui-m�me, c'est ici totalement inutile...
    Il existe deux fa�ons d'acc�der � une propri�t� d'objet, par la notation point�e (celle que tu utilises), mais qui n�cessite que les noms de propri�t�s respectent un minimum les conventions de nommage, ce qui est loin d'�tre ton cas...
    L'autre solution consiste � utiliser la notation � crochets qui est adapt�e � ton cas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    data[i].lc_qte['26\/07\/2011 10:18:00']
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Par d�faut
    que dois je faire pour respecter les conventions alors parce que le m�thode : data[i].lc_qte[lc[x]] ne marche pas

  9. #9
    Membre �m�rite

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par d�faut
    Je vois mieux et je plussoies le eval is evil !

    Nul besoin d'�valuer ici. Les �l�ments des objets peuvent �tre accessibles de plusieurs mani�res.

    Par exemple, celle que tu connais object.properties
    Mais bien s�r, "properties" ici ne peut pas �tre une variable. JS va chercher � avoir une propri�t� appel�e "properties", ne la trouvera (peut-�tre) pas et retournera undefined.

    On peut aussi passer par object['properties'] ce qui est exactement le m�me resultat que ci-dessus � une nuance pr�t : object[properties] va , l�, chercher la variable properties et la remplacer dans l'association

    Par exemple,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var properties = 'pwet';
    object = {"pwet":"test!"};
    alert(object['properties']) // undefined
    alert(object[properties]) // test!
    Tu trouveras ici ( http://jsfiddle.net/QyGP5/ ) une version simplifi�e de ce que tu souhaites (car nous n'avons pas tous les �l�ments pour en faire une vraie )
    ou ici http://jsfiddle.net/QyGP5/1/ si tu n'as pas de console javascript (ce qui est mal)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 13/04/2010, 09h14
  2. utilisation d'eval pour une fonction g�n�rique
    Par DrDam dans le forum Langage
    R�ponses: 5
    Dernier message: 17/09/2008, 12h22
  3. [Python] Est-ce une bonne id�e d'utiliser des modules pour stocker des objets ?
    Par Neolander dans le forum D�veloppement 2D, 3D et Jeux
    R�ponses: 1
    Dernier message: 05/04/2008, 14h45
  4. R�ponses: 8
    Dernier message: 20/07/2006, 00h23
  5. utiliser un script pour inserer des objets 3D
    Par s_mihai dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 09/08/2005, 13h52

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