Check

sort

| | コメント(0) | トラックバック(0)
jsのsortは数値型の要素でもとにかく文字列で比較する。
( [ 1, 11, 3, 2 ] ).sort()
>
[1, 11, 2, 3]

数値として比較するならこう。
(UFO演算子(「<=>」)がないので書きにくい。。。)
( [ 1, 11, 3, 2 ] ).sort( function( a, b ){ return ( a - 0 > b - 0 ) ? 1
: -1 } )
>
[1, 2, 3, 11]

文字型と数値型が混ざっている場合、ソートした上で元の型を保持する。
( [ 1, '11', '3', 2 ] ).sort( function( a, b ){ return ( a - 0 > b - 0 )
? 1 : -1 } )
>
[1, 2, "3", "11"]

トラックバック(0)

このブログ記事を参照しているブログ一覧: sort

このブログ記事に対するトラックバックURL: http://0-9.sakura.ne.jp/mt/mt-tb.cgi/297

コメントする