Salve
Per creare un grafico in uno script uso un plugin di jquery FLOT, quest'ultimo necessita di un array di questo tipo:
codice:
({98297:{data:[[1350329714000, 2848885]], label:"pippo"}, '@mine@':{data:[[1350329714000, 1325180]], label:"pluto"}, 151085:{data:[[1350329714000, 1002500]], label:"paperino"}})
Nell'elaborare i dati ho la necessità di limitare i valori del grafico ad un massimo di 10 valori. Quando una delle serie raggiunge il numero massimo, cancello i dati con la data più vecchia, ora il mio problema è che ci potrebbero essere delle serie in cui i dati si azzerano risultando non più visibili nel grafico ma rimangono vuoti all'interno della matrice. Io vorrei cancellare tutte le serie senza dati.
Il codice che ho inserito è il seguente:
codice:
//controllo la quantità dei dati inseriti
var delData = 0;
$.each(realTrend, function() //controlla il numero dei dati esistenti e salva la data per eliminare i dati
{
if(this.data.length > 10)
{
delData = this.data[0][0]
return false;
}
});
if (delData > 0) //cancella il più vecchio valore se si supera il massimo dei valori da registrare
{
var jj = 0 //id array della serie da cancellare
var indexDel = []; //arrey delle serie da eliminare
$.each(realTrend, function() //cancella la data più vecchia
{
if(this.data[0][0] <= delData) this.data.shift()
if(this.data.length <= 0) indexDel.push(jj) //se la serie è vuota la segna da cancellare
jj++
});
$.each(indexDel.reverse(), function() //cancella serie di dati vuoti
{
realTrend..splice(this,1)
});
}
Mi chiedo se c'è la possibilità di evitare un array di appoggio per cancellare sucessivamente le serie vuote?