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 :

loop sur tableau associatif


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 34
    Points
    34
    Par défaut loop sur tableau associatif
    Bonjour,
    Je boucle sur un tableau associatif afin d'en afficher le contenu, mais j'ai un petit problème.
    Voici la déclaration du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var boutons_array = new Array();
    		boutons_array["60"] = "b_60";
    		boutons_array["80"] = "b_80";
    		boutons_array["100"] = "b_100";
    		boutons_array["120"] = "b_120";
    Ensuite je boucle sur celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (var i in boutons_array) {
    			document.write("The index is:<em> "+ i );
    			document.write(".</em> The value is: <em>" + boutons_array[i]
    			+ ".</em><br>");
    		}
    Et j'obtiens ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    The index is: 60. The value is: b_60.
    The index is: 80. The value is: b_80.
    The index is: 100. The value is: b_100.
    The index is: 120. The value is: b_120.
    The index is: indexOf. The value is: function (s) { for (var a = 0; a < this.length; a++) { if (this[a] == s) { return a; } } return -1; } .
    The index is: deleteItem. The value is: function (i) { if (i < 0 || i > (this.length - 1)) { return; } if (i == (this.length - 1)) { this.length--; return; } for (var a = (i + 1); a < this.length; a++) { this[a - 1] = this[a]; } this.length--; } .
    The index is: deleteValue. The value is: function (v) { for (var a = 0; a < this.length; a++) { if (this[a] == v) { this.deleteItem(a); } } } .
    The index is: insert. The value is: function (i, v) { if (i < 0 || i > (this.length - 1)) { return; } for (var a = this.length; a > i; a--) { this[a] = this[a - 1]; } this[i] = v; } .

    d'où viennent ces éléments?

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ça doit venir d'une autre partie de ton code car chez moi j'ai juste ce qu'il faut ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Je dois dire que j'ai du mal à comprendre puisque que l'initialisation et l'affichage des éléments sont situés au même endroit dans le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var boutons_array = new Array();
    		boutons_array["60"] = "b_60";
    		boutons_array["80"] = "b_80";
    		boutons_array["100"] = "b_100";
    		boutons_array["120"] = "b_120";
     
     
    		for (var i in boutons_array) {
    			document.write("The index is:<em> "+ i );
    			document.write(".</em> The value is: <em>" + boutons_array[i]
    			+ ".</em><br>");
    		}
    Comment une autre partie du code pourrait-elle interférer avec ce tableau ?

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu as bien function (s) par ailleurs dans ton code ???

    curieux d'ailleur ce function (2)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Non je n'ai aucune de ces fonctions dans mon code, il doit s'agir de fonctions internes à javascript.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ???
    tu visualise la page dans un frame? un iframe ?
    tu est sous quel éditeur, browser ??

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Voila j'ai trouvé la solution. J'utilise DomApi et d'après ce que j'ai lus ici (http://www.domapi.com/forum_quick_view.cfm?topicid=1076), ils ont rajouté des extensions à la classe Array. Il faut donc faire un filtre sur le type d'objet contenu dans le tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for (var i in boutons_array) {
    			if(typeof boutons_array[i] != "function")
    			{
    				document.write("The index is:<em> "+ i );
    				document.write(".</em> The value is: <em>" + boutons_array[i]
    				+ ".</em><br>");
    			}
    		}
    SpaceFrog, merci quand même pour ton aide...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/11/2011, 16h12
  2. Réponses: 2
    Dernier message: 04/09/2008, 13h41
  3. [forms 9i] COPY sur un tableau associatif
    Par Magnus dans le forum Forms
    Réponses: 2
    Dernier message: 21/09/2006, 11h11
  4. [Tableaux] Boucle sur un tableau associatif
    Par alexfrere dans le forum Langage
    Réponses: 11
    Dernier message: 28/06/2006, 15h44
  5. Boucler sur un tableau associatif
    Par effree dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2006, 16h15

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