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
    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

    Je vous remercie d'avance

  2. #2
    Membre du Club
    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 émérite
    Tu peux aussi utiliser Set pour supprimer les doublons.