2017-10-21 9 views
0

私はこの配列をgoogle.visualization.arrayToDataTable関数に渡しています。 このデータを月の文字列で最初の列に並べ替えるにはどうすればよいですか?Google視覚化データの配列を並べ替える方法

[ 
["month", "Social", "Referral", "Direct", "All Visits"] 
["Jan 2017", 102, 16, 3, 22,] 
["May 2017", 13, 11, 22, 66] 
["Apr 2017", 4, 13, 17, 59] 
] 

私はそれをいくつかの方法で並べ替えようとしましたが、最終的には並べ替えに近づきましたが、データが混乱しています。 何か助けていただければ幸いです。前もって感謝します。

PS:Googleグラフを任意のコンテナのウィジェットとして処理するためにjquery/javascriptを使用しています。

+0

どのプログラミング言語を使用していますか? (あなたの質問に適切なタグを付けることで、関係者を見てもらうことができます) – alfasin

+0

jscriptまたはjquery –

答えて

1

dataは投稿されたデータです。

最も簡単な方法は、これを次のようになります。すべてのことが何度も日付を解析する必要がありますcompairsonので

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

はしかし、これは、非常に非効率的です。事前に日付を解析する方が良い:

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 
} 
関連する問題