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

jQuery Discussion :

Concaténation de données pour créer une variable data


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut Concaténation de données pour créer une variable data
    Bonjour,

    je souhaite générer dynamiquement des graphiques en fonction de valeurs contenus dans un JSON, j'ai presque tout réussi mais il me manque une dernière brique..
    pour faire simple, j'ai un JSON de cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    {
    "09-07-19":{
         "200":100,
          "502":10,
    },
    "10-07-19":{
         "200":1000,
        " 502":200
    }
    }
    J'ai un array avec les dates ça pas de soucis et j'aimerais regrouper les données de chaque 'code apache' et créer un array de cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{label:200 , data: [100,1000]},{label:502,data:[10,200]}]
    Cependant je bloque un peu ^^

    Si quelqu'un peut m'éclairer je lui en serais très reconnaissant

    Merci

  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 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
    une boucle .each() sur chacun des element et sous elements du json ...
    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 !

  3. #3
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut
    Oui c'est ce que je fais, mais je n'arrive pas à rassembler chaque "200" par exemple,

    en plus je viens de me rendre compte que j'ai pas sauvegardé mes essais d'hier XD

    je met mon js en PJ
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 513
    Par défaut
    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
     
    let json = {
      "09-07-19": {
        "200": 100,
        "502": 10,
      },
      "10-07-19": {
        "200": 1000,
        "502": 200
      }
    },
    tab=[{label:'200',data:[]},{label:'502',data:[]}];
    $.each(json,function(key,value){
        tab[0]['data'].push(value['200']);
        tab[1]['data'].push(value['502']);
    });
    console.log(tab);

  5. #5
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut
    Re bonjour,

    je n'y arrive toujours pas ^^ j'aiessayer ce code qui n'a pas fonctionné lol :

    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
    48
    49
    50
    51
    52
    53
    54
    55
     
    $(document).ready(function(){
    	//Fonction pour enlever les doublons
    	function removeDuplicates(num) {
    	  let x;
    	  const len=num.length;
    	  const out=[];
    	  const obj={};
     
    	  for (x=0; x<len; x++) {
    		obj[num[x]]=0;
    	  }
    	  for (x in obj) {
    		out.push(x);
    	  }
    	  return out;
    	};
     
    // TEST sur json simplifié
     
    	$.getJSON('test.json',function(test,value){
    		// console.log(test);
    		var date_value=[],
    				data_value=[],
    				codeapache_value=[],
    				tmp_code=[];
    		$.each(test,function(date){
    			date_value.push(date)
    			$.each(test[date],function(codeapache,nombre){
    					tmp_code.push(codeapache);
    			});
    		});
    		codeapache_value=removeDuplicates(tmp_code);
    		// console.log(codeapache_value);
    		for (var elem in codeapache_value) {
    				// console.log(codeapache_value[elem]);
    					data_value.push('{label:'+codeapache_value[elem]+',data:[]}');
    			};
     
    		console.log(data_value[0]['label']);
     
     
    		// $.each (test,function(date){
    		// 	$.each(test[date],function(codeapache,value){
    		// 		for (var elem2 in data_value){
    		// 			data_value[elem2]['data'].push(value[codeapache]);
    		// 		};
    		// 	});
    		// });
    		// console.log(data_value);
    	});	
    	// Création du dataset
     
     
    });

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 513
    Par défaut
    Salut,

    Le code que tu as écrit c'est du n'importe quoi .

    Le plus simple :

    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
     
    $(document).ready(function(){
     
    	var result=[],ref=['200','502'];
     
    	$.getJSON('test.json',function(test){
    		$.map(ref,function(label){
    			result.push({
    				label:label,
    				data:$.map(test,function(value){
    					   return value[label];
    					})
    			});
    		});
    	});	
    	console.log("result:",result);
     
    });
    Ou bien avec la syntaxe javascript d'aujourd'hui
    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
     
    $(document).ready(()=>{
     
    	var result=[],ref=['200','502'];
     
    	$.getJSON('test.json',test=>{
    		$.map(ref,label=>{
    			result.push({
    				label:label,
    				data:$.map(test,value=>{
    					   return value[label];
    					})
    			});
    		});
    	});	
    	console.log("result:",result);
     
    });

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

Discussions similaires

  1. [AC-2007] Comment débuter pour créer une base de données.
    Par ma3972 dans le forum Modélisation
    Réponses: 6
    Dernier message: 14/07/2009, 14h18
  2. utilisation ADO pour créer une Base de Donnée vide
    Par laribi71 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 20/02/2008, 19h13
  3. Quelles solutions pour créer une Bases de données géographiques ?
    Par subzero82 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 25/11/2007, 21h45
  4. Réponses: 12
    Dernier message: 05/03/2007, 10h36
  5. Créer une variable de type base de données
    Par dj_techno dans le forum Bases de données
    Réponses: 7
    Dernier message: 20/02/2007, 08h18

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