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 :

Object avec cl�s 'userdefined'


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par d�faut Object avec cl�s 'userdefined'
    Bonjour

    J'ai des objets dont les noms de cl�s sont d�finies soit par des noms entr�s par l'utilisateur, soit par des noms de fichiers.
    Par exemple mes donn�es de fichiers extraites par FileReader() sont stock�es comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    object: {
      fichier.extension: donnée,
      ..
    }
    Ma question est simple : quel traitement faut-il faire sur ces noms pour remplacer les espaces / caract�res non-autoris�s de fa�on fiable ?

    Par rapport � un tableau d'objets (avec une cl� 'name') ce stockage permet de r�f�rencer les donn�es beaucoup plus facilement, pourtant j'ai un vague doute sur la fiabilit� de ce syst�me ... Selon vous est ce que �a risque de poser d'autres probl�mes par la suite ?

  2. #2
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Si tu as moyen de rajouter des guillemets, �a passe :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    object: {
      "fichier.extension": donnée,
      ..
    }
    Sinon il faut que tu construises l'objet �tape par �tape :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var myObject = {};
    var cle = ...; // le nom défini par l'utilisateur
    myObject[cle] = donnee;
    ...
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par d�faut
    Les noms de cl�s sont des variables donc je construis '�tape par �tape'.

    Je voulais juste savoir :
    - laisser des cl�s d'objets avec espace ne posera pas de probl�me ?
    - comment filtrer/encoder les caract�res non autoris�s (le nom peut aussi �tre directement entr� par l'utilisateur) ?

    En vous remerciant par avance

  4. #4
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    un objet est en gros une hashmap
    un tableau clef valeur

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    obj ={};
    obj[macle]=mavaleur;
    console.log(obj[macle]);(
    pour que �a marche il suffit que macle soit un �l�ment convertible en string donc soit une string soit un objet poss�dant la m�thode toString
    si tu as des nom de clef avec des . comme fichier.nom fichier.extension
    perso je ferais plut�t un split pour avoir au final
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    obj = {
      fichier: {
        nom : "toto",
        extension: "txt"
      }
    }
    A+JYT

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par d�faut
    Ok, oui je peux garder juste le nom du fichier sans extension.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    obj = {
      fichier: {
        nom : "toto",
        extension: "txt"
      }
    }
    Justement cet objet ne me permet pas de r�cup�rer directement obj['toto'], c'est la raison pour laquelle je mets le nom du fichier (avec ou sans extension) comme cl� : �a �vite d'it�rer pour chercher une entr�e.

    Il est vrai que le js a l'air cool avec les noms de cl�s et me laisse par exemple �crire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    object= {
      'az;,?*+ /!#:§' : 2
    }
    Encore une fois les noms/cl�s peuvent ensuite �tre renomm�es par l'utilisateur, donc potentiellement avec n'importe quoi ... Vous me confirmez que m�me dans ce cas il n'y a aucun caract�re particulier � filtrer ?

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Nop, tout va bien dans le meilleur des mondes avec JavaScript et les String:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    var js_objects = {
         '❤️':"unicode",
         '(╯°□°)╯︵ ┻━┻': "flip da table",
         'ᕙ༼ ,,ԾܫԾ,, ༽ᕗ': 'js is the best'
    };
     
    js_objects["❤️"]
    edit: on ne peut pas en dire autant de l'�diteur D�veloppez qui convertit l'Unicode en entit�s... voil� ce que je voulais montrer: http://jsbin.com/bozocixedu/1/

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par d�faut
    D'accord, on peut m�me nommer les cl�s en v�nusien, c'est parfait

    Je passe en r�solu, merci pour vos r�ponses

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

Discussions similaires

  1. [Debian] Connexion wifi avec cl�s WPA
    Par gege2061 dans le forum R�seau
    R�ponses: 8
    Dernier message: 14/10/2008, 21h03
  2. [Jtable]Remplir un OBject[][] avec une ArrayList
    Par ArN0.VdB dans le forum Composants
    R�ponses: 27
    Dernier message: 25/04/2007, 10h43
  3. Remplir un Object[][] avec un fichier properties
    Par n8ken dans le forum Collection et Stream
    R�ponses: 22
    Dernier message: 10/11/2006, 16h35
  4. Aide pour MCD avec cl�s �trang�res
    Par tiger33 dans le forum Langage SQL
    R�ponses: 12
    Dernier message: 19/07/2006, 16h01
  5. [Struts] elements avec cl�s al�atoires
    Par zais_ethael dans le forum Struts 1
    R�ponses: 11
    Dernier message: 30/04/2006, 16h28

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