我将此数组传递给google.visualization.arrayToDataTable函数。 如何按第一列的月份字符串对此数据进行排序?
function<void(int)>
我尝试了几种方式排序,最后接近排序,但数据搞砸了。 任何帮助表示赞赏。提前谢谢。
PS:我使用jquery / javascript将谷歌图表作为任何容器中的小部件进行处理。
答案 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
}