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 :

Tableau associatif avec clé numerique


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut Tableau associatif avec clé numerique
    Bonjour à tous.

    J'aimerai savoir si il y'avait possibilité de réaliser des tableau associatif avec des clé numérique.

    Je m'explique :

    Je possède des objet utilisateurs avec des id (ex : 1234, 546, 4789).

    Je voudrais inserer ces users dans un tableau associatif avec une syntaxe du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var user1 = {};
    user1.nom = "DUPONT";
    user1.prenom = "Jean";
     
    userArray["1234"] = user1;
     
    //ou
     
    userArray.1234 = user1;
    Cependant cela ne fonctionne pas.

    Y'a t'il une solution ?

    Merci d'avance.

  2. #2
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    tu as juste oublié de déclarer ton userArray comme array ou objet json

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var user1 = {};
    user1.nom = "DUPONT";
    user1.prenom = "Jean";
     
    var userArray=new Array(); 
    // ou userArray={}
    userArray["1234"] = user1;
     
     
    alert(userArray['1234'].nom)
    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 !

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    Ha oui j'ai oublié de le décalerer mais mon soucis ne viens pas de la.

    Si je récupère un indice de user (ex : 1234)

    J'aimerai pouvoir acceder à l'objet user de cette facon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var idUser = 1234;
     
    console.log(userArray.idUser);
    J'aimerai que lui interprete ceci comme : console.log(userArray.1234);



    ou pouvoir l'affecter comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var idUser = 1234
    var user1 = {};
    user1.nom = "DUPONT";
    user1.prenom = "Jean";
     
    userArray.idUser = user1;
    et qu'il l'interprete comme ceci : userArray.1234 = user1;

    Actuellement j'utilise un tableau à index.

    Des que j'ai un user, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var idUser = 1234;
     
    userArray[idUser] = user1;
    Le soucis est qu'il me creait de userArray[0] à userArray[1233] vide.
    Apres pour les parcours c'est super lourd.

  4. #4
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var idUser = 1234;
     
    console.log(userArray.idUser);
    non pas possible comme ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    idUser= 1234
    alert(userArray[idUser].nom)
    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 !

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut
    Si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    idUser= 1234
    alert(userArray[idUser].nom)
    Cela veut dire que mon tableau est indexé. Si j'ai que 2 users avec les id 23542 et 45124, il va me creer un tableau de taille 45125 cases.
    Après pour les parcours de mes users c'est lourd.

    J'ai trouvé une alternative qui consiste à ecrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    userArray["_"+ idUser]
    Je vais utiliser ca fonctionne plutot bien.

    Merci bien SpaceFrog pour le coup de pouce

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    userArray[idUser.toString()]
    ??
    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 !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/05/2009, 17h21
  2. tableau associatif avec 2 requêtes
    Par Vetchostar dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/10/2008, 14h20
  3. [Tableaux] Tableau associatif avec des array
    Par Piccolo_son dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2007, 08h23
  4. Réponses: 2
    Dernier message: 20/10/2006, 10h25
  5. [Tableaux] tableau associatif avec select
    Par jive dans le forum Langage
    Réponses: 2
    Dernier message: 22/09/2006, 19h45

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