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?