2012-02-24 7 views
4

私はjavascriptで配列をソートする必要があります..どのように番号のjavascript配列をソートする

どのようにそれを行うには? sortメソッドは、数字では動作しません。デフォルトで

...

私は意味:

a = [1, 23, 100, 3] 
a.sort() 

値は次のとおりです。

[1, 100, 23, 3] 

感謝:)

+4

'a.sort(関数(B){ABを返す;})' [ここで、リンクの(https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/並べ替え)をいくつかのドキュメントに追加します。自分で研究することに慣れているはずです。それはあなたを助けるだけです。 –

+0

可能性があります[整数で作業していない並べ替えのですか?](0120-325-952) – Bergi

答えて

11

は通常私の作品:

a.sort(function(a,b){ 
    return a - b; 
}); 
+0

簡単な数学と '> 1 = 1 && <-1 = -1': –

2
<script type="text/javascript"> 

function sortNumber(a,b) 
{ 
return a - b; 
} 

var n = ["10", "5", "40", "25", "100", "1"]; 
document.write(n.sort(sortNumber)); 

</script> 
4

ソートを記述するとそれは機能します。

[1, 23, 100, 3].sort(function(a, b){ 
    if (a > b) 
     return 1; 
    if (a < b) 
     return -1; 
    return 0 
}); 
+2

比較関数は、好きな任意の値を返すことができます記号は重要です。したがって、関数全体を 'return a-b;'に減らすことができます。 – cHao

+0

あなたは正しいです。これは一般的な製品ソリューションです。 –

+0

w3schoolsへのリンクを削除しました –

0

sortにコンパレータ機能を渡すことができます。

> a.sort(function(a, b) { return a < b ? -1 : a > b ? 1 : 0; }); 
    [1, 3, 23, 100] 
関連する問題