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 :

Affectation tableau associatif


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut Affectation tableau associatif
    Je suis en train de découvrir dans la douleur les tableaux associatifs en JS.
    A la sortie de ma boucle la taille de mon tableau est 0 alors que Field contient au moins 10 éléments. Quelqu'un à une idée ?
    Je pense qu'il y a une simple erreur de syntaxe quand je veux créer mes indices.
    Je voudrais qu'a la sortie mon tableau soit de la forme suivante.
    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Content["exemple1"] = "contenu";
    Content["exemple2"] = "contenu";
    Content["exemple3"] = "contenu";
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var Content = new Array();
     
    var Field = traiteXml(rxml, 'nom');
     
    for (var i=0; i < Field.length; ++i) {
        	s += Field[i] + "\n";
        	Content[Field[i]] = "contenu";
      }
    alert(Content.length);

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var Foo =new Array()
    Foo['a']=1;
    Foo['b']=1;
    Foo['c']=1;
     
     
    function LLength(){
    var l=0
    for(elt in Foo){l++}
    return l;
    }
     
    alert(LLength(Foo))

  3. #3
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Excellent, ca marche nickel.

    Par contre, une petite question, pourquoi n'existe t il pas le propriété .length pour les Array en JS ?

  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
    pour les arrays oui ...
    pas pour les arrays litteraux ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var Content=new Array()
    Content[1] = "contenu";
    Content[2] = "contenu";
    Content[3] = "contenu";
    alert( Content.length)

    tu auras noté le piège

    tu obtiens 4 et pas 3 ...

    tout simplement parceque les arrays commence à 0 et que même si tu ne renseigne pas les intermédiaires il les compte ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var Content1=new Array()
    Content1[99] = "contenu";
    alert( Content.length)
    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 Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Merci pour ces précieux éclaircissements.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var Content1=new Array()
    Content1[99] = "contenu";
    alert( Content.length)
    Il semble que la gestion de la mémoire avec JS, soit donc un sujet qui demande encore quelques ajustements

  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
    En fait voilà mes recherches dans le domaine
    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
    40
    41
    42
    43
    44
    45
    46
    47
     
    <script type='text/javascript'>
    function ArrayLength(){
    	var lg=0;
    	var nom="";
     
    	for (ind in this){
    			if(this.hasOwnProperty(ind)){
    			lg++;
    			nom+=ind + ", ";
    		}
    	}
     
    	nom=nom.replace(/, $/,"");
    	return  "ce tableau contient " + lg + " indices déclarés (" + nom + ")";
    }
     
    Array.prototype.MyLength=ArrayLength
     
     
    var tabAssDom= new Array() 
    tabAssDom[30] = "abc"
    tabAssDom[25] = "dbc"
    tabAssDom[25] = "dbc"
     
    alert (tabAssDom.MyLength())
     
     
     
    var t=[];
    t.push({"un":"premier"});
    t.push({"deux":"deuxième"});
     
    alert(t.length + " (glop)")
     
     
     
    var t=[];
    t["un"]="premier";
    t["deux"]="deuxième";
    t[1]='troisième'
     
    alert(t.length + " (pas glop)")
    alert (t.MyLength())
     
     
    </script>
    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. [Débutant] Affectation tableau associatif
    Par glayag dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 21/02/2008, 11h09
  2. tableau associatif en asp ?
    Par bigsister dans le forum ASP
    Réponses: 5
    Dernier message: 26/01/2005, 16h47
  3. asp tableau associatif
    Par rfernandez dans le forum ASP
    Réponses: 6
    Dernier message: 19/12/2003, 18h58
  4. [langage] TRI TABLEAU ASSOCIATIF
    Par proner dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2003, 16h38
  5. [langage] Réinitialiser un tableau associatif.
    Par totox17 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2003, 16h29

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