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

Bibliothèques & Frameworks Discussion :

Arrays et les For..in [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    910
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 910
    Points : 1 363
    Points
    1 363
    Par défaut Arrays et les For..in
    Bonjour,

    J'écris une petite application incorporant pas mal de javascript pour faire du joli et pour se connecter sur Flickr.

    Pour le joli, j'utilise des fonctions du framework prototype.
    Pour Flickr, j'utilise un bout de code trouvé sur le net.

    Tout fonctionne bien, si je ne les mets pas ensemble, mais ensemble.... ça foire complètement.

    Pourquoi ?

    Mon code pour Flickr procède de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var param=new Array();
    param['api_key'] = flickr.key; 
    param['text'] = group_name; 
    ...
    for(key in params){
    	tmp_url += "&" + key + "=" + params[key]; 
    }
    ...
    Prototype ajoutant de son côté plein de propriétés aux objets jaavscript, en ajoute un paquet sur les Array, et mon for..in se met à les retourner, puisque le for..in énumère des propriétés et pas des valeurs.

    Ma question est: comment remplacer mon for(key in params) pour arriver à récupérer tant mes clés que mes valeurs ?

    Car si je fais params.length, j'ai 0

    Merci,

    Laurent

    PS: Je me trompe où la notation array['key']=value n'est pas très standard en javascript ?

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Citation Envoyé par lvr Voir le message
    Bonjour,

    J'écris une petite application incorporant pas mal de javascript pour faire du joli et pour se connecter sur Flickr.

    Pour le joli, j'utilise des fonctions du framework prototype.
    Pour Flickr, j'utilise un bout de code trouvé sur le net.

    Tout fonctionne bien, si je ne les mets pas ensemble, mais ensemble.... ça foire complètement.

    Pourquoi ?

    Mon code pour Flickr procède de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var param=new Array();
    param['api_key'] = flickr.key; 
    param['text'] = group_name; 
    ...
    for(key in params){
    	tmp_url += "&" + key + "=" + params[key]; 
    }
    ...
    Prototype ajoutant de son côté plein de propriétés aux objets jaavscript, en ajoute un paquet sur les Array, et mon for..in se met à les retourner, puisque le for..in énumère des propriétés et pas des valeurs.

    Ma question est: comment remplacer mon for(key in params) pour arriver à récupérer tant mes clés que mes valeurs ?

    Car si je fais params.length, j'ai 0

    Merci,

    Laurent

    PS: Je me trompe où la notation array['key']=value n'est pas très standard en javascript ?
    Salut,

    Ce qui t'arrive est tout à fait normal, tu dois utiliser une hashmap et non pas un array, c'est différent de php

    Pour palier ce problème remplace

    par

  3. #3
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    910
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 910
    Points : 1 363
    Points
    1 363
    Par défaut
    Merci. Ca fonctionne bien. C'est quoi cette notation ?

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    C'est le shorcut de Qui créé une hashmap.

  5. #5
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    910
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 910
    Points : 1 363
    Points
    1 363
    Par défaut
    Ok. Merci.

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

Discussions similaires

  1. [PHP 5.0] [array] afficher les valeurs d'un tableau à plusieurs éléments
    Par mdr_cedrick dans le forum Langage
    Réponses: 1
    Dernier message: 25/02/2009, 10h33
  2. Réponses: 4
    Dernier message: 21/01/2009, 14h45
  3. Quel est l'index qui sert pour les For Each ?
    Par Nixar dans le forum VB.NET
    Réponses: 5
    Dernier message: 04/06/2007, 08h23
  4. [Tableaux] Problème avec un array et les pseudo frame
    Par azerty53 dans le forum Langage
    Réponses: 6
    Dernier message: 10/05/2006, 14h57
  5. [array] enlever les doublons
    Par FFF dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 01/11/2005, 10h43

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