Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    funzione max() di d3 restituisce valori sbagliati

    buongiorno a tutti.

    vi spiego il mio problema:

    sto usando la libreria d3.js. ho uno script php che mi estrae da un database dei dati convertendoli in formato json, il risultato della query produce circa 800 oggetti json di questo tipo:

    {"citta_partenza":"nomecitta",
    "indirizzo_partenza":"indirizzo",
    "nazione_partenza":"nazione",
    "citta_arrivo":"nomecittà",
    "indirizzo_arrivo":"indirizzo",
    "nazione_arrivo":"nazione",
    "frequenza":"4",
    "km":"2833.08"}

    dovendo recuperare il valore più alto di "km" tra tutti gli oggetti generati dal file php, ho scritto questo codice:

    d3.json("nomescript.php", function(data){
    [...]
    var massimo = d3.max(data, function(d){return d.km});
    [...]
    })

    tuttavia avviene una cosa strana: non mi seleziona il valore massimo ma uno intermedio, cioè io so che ci sono percorsi che hanno un chilometraggio che arriva anche a 3000 km, eppure il valore massimo ottenuto da questo codice risulta essere 900 km.
    se invece provo a selezionare il minimo, quindi

    var massimo = d3.min(data, function(d){return d.km});

    funziona correttamente e mi restituisce il valore corretto.

    premettendo che ho testato lo script php quindi so per certo che i dati sono corretti, sapete dirmi quale può essere il problema?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    prova con
    codice:
    return parseFloat(d.km)
    
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    che stupido, come ho fatto a non pensarci?

    grazie mille, funziona.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.