2016-04-05 5 views
0

私は を使用しています。var a1 = new Array; a1.sort(...)IEでソートできない

問題は 複数の列です。私が特定の列を並べ替えるとうまくいきます。しかし は、インナーコラムをソートする方法はあり

はCOL1にソート我々を言う値、それが適切に

ソートされますが、COL2はCOL1の同じ値のためにソートされません。 Firefoxとchromeでは正常に動作しています。

col1 col2 
1  5 
1  4 
2  3 
2  2 
2  6 
3  7 

期待される結果 コルコル2

col1 col2 
1  4 
1  5 
2  2 
2  3 
2  6 
3  7 
+0

あなたのデータを追加してください。 –

答えて

0

最初の列は、それが第二で等しい並べ替えていますされている場合は、両方の列をソートする必要があります。

Array#sort()コールバックが使用できない場合は、文字列で並べ替えます。

オプションは、compareFunction
。ソート順を定義する関数を指定します。省略された場合、各要素の文字列変換に従って、各文字のUnicodeコードポイント値に従って配列がソートされます。

var array = [[2, 6], [3, 7], [1, 5], [1, 4], [2, 3], [2, 2]]; 
 

 
array.sort(function (a, b) { 
 
    return a[0] - b[0] || a[1] - b[1]; 
 
}); 
 

 
document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');

+0

_Inf Firefoxとchromeは正常に動作しています._問題はIE上にしかないようです。 – Jai

+0

チェックする元のデータがありません。 –

+0

感謝のニーナ。私の場合、2つ以上の列があります。ソートコードはアプリケーションのどのテーブルにも適用できます。 [1] -b [1]の代わりにソートする他の方法はありますか?はい、それはFirefoxとChromeで気になります。 – Venu

関連する問題