如何对谷歌可视化数据数组进行排序

时间:2017-10-21 23:11:13

标签: javascript jquery arrays sorting

我将此数组传递给google.visualization.arrayToDataTable函数。 如何按第一列的月份字符串对此数据进行排序?

function<void(int)>

我尝试了几种方式排序,最后接近排序,但数据搞砸了。 任何帮助表示赞赏。提前谢谢。

PS:我使用jquery / javascript将谷歌图表作为任何容器中的小部件进行处理。

1 个答案:

答案 0 :(得分:1)

假设data是您发布的数据已截断。

最简单的方法是:

data.sort(function (a,b){
    return new Date(a[0]).getTime() - new Date(b[0]).getTime()
)

然而,这是非常低效的,因为对于每个compairson,它将不得不一遍又一遍地解析日期。最好事先解析日期:

for(var i=0;i<data.length;i++){
    data[i].unshift(new Date(data[i][0]).getTime()) // add precomputed time at the start of each datapoint
}
data.sort(function (a,b){
    return a[0] - b[0]
)
for(var i=0;i<data.length;i++){
    data[i].shift() // remove the precomputed time, as it is no longer needed
}