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

  1. #1
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    mai 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : mai 2017
    Messages : 70
    Points : 55
    Points
    55

    Par défaut Suppression de doublons à partir de valeurs récupérées dans un Json

    Bonjour,

    Je rencontre un souci pour générer un select à partir d'un fichier JSON.

    Explication: je souhaite générer un graphique multi-lignes à partir de données d'un JSON, le récupération des données ne pose pas de problème ^^

    Par contre je n'arrive pas à les trier pour ne conserver que des valeurs uniques... j'ai essayé pas mal de choses que j'ai trouver en faisant des recherches (diverse fonction etc) mais j'ai fait choux blanc...

    mon
    Code HTML : 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
    <!DOCTYPE html>
    <html>
     
    <head>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width">
    	<title>repl.it</title>
    	<link href="test-graph.css" rel="stylesheet" type="text/css" />
    	<!-- <link rel="stylesheet" type="text/css" href="jquery-ui.css" /> -->
    	<script src="jquery-3.3.1.min.js"></script>
    	<script src="jquery-ui.js"></script>
    	<script src="chart.min.js"></script>
    	<script src="reverse-proxy_statistiques_report.js" ></script>
    </head>
    <body>
    	<center><div id="selection">
    		<select id="periode">
    			<option value="" disabled selected>Sélectionnez la période</option>
    			<option>Annuelle</option>
    			<option>Journalière</option>
    		</select>
    		<select id="date">
    			<option value="" disabled selected>Sélectionnez la date</option>
    		</select>
    		<select id="selection_rp">
    			<option value="" disabled selected>Sélectionnez le reverse-proxy</option>
    		</select>
    		<select id="selection_ws">
    			<option value="" disabled selected>Sélectionnez le webservice</option>
    		</select>
    	</div></center>
    	<center><div id="graphiques">
    	</div></center>
    </body>
    </html>

    Code JQUERY (je vous fourni uniquement la partie qui pose problème dans le message, et l'ensemble du script en PJ pour plus de lisibilité)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $.getJSON("statistiques_RP.json", function(rp_stats){
    				var name_rp=[];
    				$.each(rp_stats, function (jour){
    					$.each(rp_stats[jour],function(reverse_proxy){
    						// name_rp.push(reverse_proxy);
     
    					});
    					console.log(removeDuplicateUsingSet(reverse_proxy));
    				});
     
    			});

    Et je met en PJ mon fichier json aussi
    test-graph.js
    Je vous remercie d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    mai 2017
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : mai 2017
    Messages : 70
    Points : 55
    Points
    55

    Par défaut

    Problème résolu à l'aide de cette fonction :
    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
     
    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;
    };
    et avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     $.getJSON("statistiques_RP.json", function(rp_stats){
    				var name_rp=[],
    					tmp_rp=[];
    				$.each(rp_stats, function (jour){
    					$.each(rp_stats[jour],function(reverse_proxy){
    						tmp_rp.push(reverse_proxy);
    						name_rp=removeDuplicates(tmp_rp);
    					});
    					// console.log(name_rp);
    				});

  3. #3
    Membre expérimenté Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 016
    Points : 1 658
    Points
    1 658

    Par défaut

    Tu peux aussi utiliser Set pour supprimer les doublons.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/12/2012, 10h05
  2. Réponses: 3
    Dernier message: 14/08/2006, 21h27
  3. vb6: Stocker des valeurs récupérés dans un TextBox sous excel
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 32
    Dernier message: 19/07/2006, 16h12
  4. Réponses: 4
    Dernier message: 12/06/2006, 11h46
  5. Réponses: 4
    Dernier message: 01/12/2005, 23h13

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