Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Candidat au titre de Membre du Club
    Homme Profil pro
    Inscrit en
    avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 41
    Points : 14
    Points
    14

    Par défaut JSON ajouter objet de facon dynamique

    Bonjour,

    J'ai le code suivant
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <SCRIPT language="Javascript">
    	var test = new Array(1);
    	test[0] = "toto";
    	test[1] = "tata";
     
    	var test2 = new Array(1);
    	test2[0] = "test1";
    	test2[1] = "test2";
     
     
    	test2[0] = new Array(1);
    	for (var i = 0; i < test.length; i++)
    	{
    		test2[0][0] = { name: test2[0], items: [ test[0], test[1] ]};
     
    	}
    	console.log(test2);
    </SCRIPT>
    j'aimerais le rendre plus dynamique donc remplacé la ligne :

    Code :
    test2[0][0] = { name: test2[0], items: [ test[0], test[1] ]};
    PAR :

    Code :
    test2[0][0] = { name: test2[0], items: [ test[i] ]};
    cela affiche toujours le dernier element de mon tableau sans prendre en compte les autres ... normal ....

    Y a t-il un moyen de faire ceci ?

    Merci

  2. #2
    Modérateur
    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    7 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 7 585
    Points : 14 379
    Points
    14 379

    Par défaut

    Bonjour,
    tout d'abord
    Code html :
    <SCRIPT language="Javascript">
    et a modifier par
    Code html :
    <script type="text/javascript">
    ou tout simplement <script>en HTML5

    ensuite
    Code :
    test2[0][0] = { name: test2[0], items: [ test[0], test[1] ]};
    un élément d'un tableau faisant référence à son adresse parent ????

  3. #3
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 168
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : juin 2008
    Messages : 22 168
    Points : 86 182
    Points
    86 182

    Par défaut

    Code :
    1
    2
    3
    var test = new Array(1);
    test[0] = "toto";
    test[1] = "tata";


    Tu déclares un tableau avec un élément mais tu en définis deux... Ca manque de logique (ou de compréhension de ce que tu fais).
    Toujours est-il qu'il est préférable de déclarer un tableau de façon littérale :
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Candidat au titre de Membre du Club
    Homme Profil pro
    Inscrit en
    avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 41
    Points : 14
    Points
    14

    Par défaut

    Code :
    1
    2
     
    test2[0][0] = { name: test2[0], items: [ test[0], test[1] ]};
    J'aimerais ne pas preciser a chaque fois test[0], test[1]

    car mon nombre d'arguments peux varier ... ca peut etre
    Code :
    1
    2
     
    items: test[0], test[1], test[2]
    Comme

    Il y a une solution ? comme en C avec (...) pour preciser qu'on attend un nombre d'argument variable ?

  5. #5
    Membre émérite
    Avatar de dkmix
    Profil pro
    Inscrit en
    septembre 2007
    Messages
    580
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : septembre 2007
    Messages : 580
    Points : 834
    Points
    834

    Par défaut

    Bonjour,

    Quelquechose comme ceci ?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    var test = [];
    test[0] = "toto";
    test[1] = "tata";
     
    var test2 =[];
    test2[0] = "test1";
    test2[1] = "test2";
     
    test2[0] = [];
     
    test2[0][0] = { name: test2[0], items : [] };
     
    for (var i = 0; i < test.length; i++)
    {
        test2[0][0].items.push(test[i]);
     
    }
    console.log(test2);

  6. #6
    Candidat au titre de Membre du Club
    Homme Profil pro
    Inscrit en
    avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 41
    Points : 14
    Points
    14

    Par défaut

    Est ce que ca fonctionne de votre coté ce code ?

  7. #7
    Membre émérite
    Avatar de dkmix
    Profil pro
    Inscrit en
    septembre 2007
    Messages
    580
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : septembre 2007
    Messages : 580
    Points : 834
    Points
    834

    Par défaut

    Est ce que ca fonctionne de votre coté ce code ?
    Bien sur

  8. #8
    Candidat au titre de Membre du Club
    Homme Profil pro
    Inscrit en
    avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 41
    Points : 14
    Points
    14

    Par défaut

    effectivement Merci

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •