2012-10-22 16 views
10

d3のソート関数と昇順関数の違いを知りたかったのですが、 テーブルのデータを選択した列の昇順に並べ替える方法を探しています。d3:ソートと昇順の差

ありがとうございました。

答えて

16

Array.sort()は、値を昇順でアルファベット順にソートします。 Array.sort(d3.ascending)は自然に値を昇順でソートします。その違いは、数字のリストをソートするときに見られます。 sort作品は、https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/sortを参照してください方法の詳細については

var a = [3,26,1,7]; 

console.log(a.sort()); 
// prints [1,26,3,7] 

console.log(a.sort(d3.ascending)); 
// prints [1,3,7,26] 

+1

次に、この例ではsort()だけを使用して数値をソートできるのはなぜですか? http://bl.ocks.org/3719724 –

+3

これはありません。彼はカスタムコンパレータを 'sort'に渡します:' tr.sort(function(a、b){return(b [k]/b.Total) - (a [k]/a.Total);}) '。無名関数(a、b)は、実際に比較を行うカスタムコンパレータです。 d3.ascendingは単に 'function(a、b){ a b? 1:0; } ' – Bill

+0

清算をありがとう! また、この例がこの例で必要な理由を説明できますか? {return key!= "状態" && key!= "合計"; }); ' –

関連する問題