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 :

Array.prototype et tableaux associatifs : Bizarre, Bizarre .. [Fait]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut Array.prototype et tableaux associatifs : Bizarre, Bizarre ..
    Bonjour

    Il y a quelque chose que je ne comprends pas avec les tableaux associatifs :
    Le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/JavaScript">
    Array.prototype.popAll=function()
        {
        while (this.length>0)
            {
            this.pop();
            }
        }
     
    Array.prototype.test=function()
        {
        return this;
        }    
     
        var s="";
        var t1=new Array();
        t1[0]=new Array();
        t1[0]["test2"]="Roro";
        for (var e in t1[0]){
            s += ("-" + t1[0][e] + "<br/>")
            }
    function test()
        {
        document.getElementById("s").innerHTML=s;
        }
     
    </script>
    </head>
     
    <body>
        <div id="s"></div>
        <button type="button" onClick="test()">wazy</button>
     
    </body>
    </html>
    devrait m'afficher, selon toutes vraissemblance :
    - Roro
    Mais il n'en est rien !

    Il m'affiche :
    -Roro
    -function () { while (this.length > 0) { this.pop(); } }
    -function () { return this; }
    1 / Je ne comprends pas pourquoi
    2 / Comment faire en sorte qu'il n'affiche que ce que j'espérais, à savoir : "-Roro" ?


    (J'ai dit "bizarre" ? étrange ...!)

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Cette notation boucle sur les propriétés du tableau, pas uniquement sur ses éléments...

  3. #3
    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
    il faut tester dans la boucle for si le propriété est une proptiété "propre" à l'objet ou "rajouté" par l'utilisateur

    voir ici http://www.developpez.net/forums/d42...ributs-balise/

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour, et merci pour vos réponses

    Je comprends un peu mieux. En fait, il "suffit" de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        var s="";
        var t1=new Array();
        t1[0]=new Array();
        t1[0]["test2"]="Roro";
        for (var e in t1[0]){
            if (t1[0].hasOwnProperty(e))
                s += ("-" + t1[0][e] + "<br/>")
            }
    ... Et donc, la question subsidiaire :

    Cette notation boucle sur les propriétés du tableau, pas uniquement sur ses éléments...
    Comment boucler uniquement sur les éléments ?

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (var e=0;e<t1[0].length;e++)

  6. #6
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Où avais-je la tête ?

    Merci

  7. #7
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Euh ... ben non !

    me renvoie toujours 0

Discussions similaires

  1. Définition "inline" de tableaux associatifs.
    Par Blustuff dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/03/2010, 13h49
  2. Réponses: 4
    Dernier message: 27/10/2008, 07h27
  3. Réponses: 9
    Dernier message: 13/06/2006, 21h52
  4. [8i] tableaux associatifs de VARCHAR2
    Par Magnus dans le forum Oracle
    Réponses: 2
    Dernier message: 26/01/2006, 16h41
  5. [Collections]Tableaux associatifs
    Par sheura dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 18/12/2005, 14h10

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