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

jQuery Discussion :

Array avec keys variables


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut Array avec keys variables
    Bonjour à tous,

    Je souhaite faire quelque chose de tout simple, à savoir, construire un array avec des keys variables mais je ne trouve pas syntaxe correct... Après avoir parcouru en long et en large les résultat de google je ne trouve réponse à ma question... Voici un exemple pour illustrer tout ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		foo: function() {
    			var a = [];
    			$('.foo:visible').each(function() {
    				var cId = $(this).attr('id');
    				var content = $(this).html());
                                    a[cId] = content;
    			});
    			return a;
    		}
    Cette syntaxe n'est pas correct, j'ai aussi essayé avec la fonction .push({key:value}), mais ça ne fonctionne pas non plu.

    En PHP un simple
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $array[$key] = $value;
    aurais fonctionné, je recherche un équivalant en javascript.

    Merci de votre aide.

    Nico

  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
    le principe de l'array littéral est bon, je pense que tu as plutot un souci d'algo ...

    tu fermes le each avant d'attribuer l'indexe ...
    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 chevronné
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Par défaut
    Et comme ceci ça ne serait pas mieux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var a = new Array();
    a[cid] = content;

  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
    je pense que ça veint plsu de ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foo: function() {
    			var a = [];
    			$('.foo:visible').each(function() {
    				var cId = $(this).attr('id');
    				var content = $(this).html();
                                    a[cId] = content;)
    			});
    			return a;
    		}
    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
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    je pense que ça veint plsu de ça:
    là il y à du gros mélange doigtal dans l'air SpaceFrog!!!

    Ceci explique peut être la réponse, je la sentirais plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foo : function() {
      var a = [];
      $('.foo:visible').each(function() {
        var cId = $(this).attr('id');
        var content = $(this).html();
        a[cId] = content;
      });
      return a;
    };

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut
    Bonjour et merci à tous pour l'aide,

    @NoSmoking: Je ne vois pas la nuance entre ta syntaxe et la mienne?

    @scourjean: D'aprés la documentation de jQuery je peut aussi bien déclarer un array avec 'new Array()' que '[]', bien que la première syntaxe me parait plus logique et correct, les deux fonctionnes à l'identique dixit la documentation officielle.

    Sinon je bloque toujours sur ce problème, que je pourrai contourner en créant 2 array distinct avec pour un les keys et pour l'autres les valeurs et ensuite les joindre, mais dans un soucis d'optimisation je suis certain qu'il y a beaucoup plus simple non?

    Nico

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

Discussions similaires

  1. Tb array avec cellules variables
    Par teddy72000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/04/2011, 21h07
  2. tri d'Array avec indice variable.
    Par GYK dans le forum Langage
    Réponses: 2
    Dernier message: 09/02/2011, 14h17
  3. Réponses: 2
    Dernier message: 03/11/2007, 11h24
  4. Réponses: 16
    Dernier message: 24/11/2005, 12h43
  5. Filtrer une requete avec une variable array
    Par hugo69 dans le forum Requêtes
    Réponses: 7
    Dernier message: 04/11/2005, 14h33

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