JavaScriptのsort()は文字列で比較する?
JavaScriptのsort()は文字列で比較する?
a = [ 0, 1, 2, 10, 12, 14, 4, 6, 2 ]; alert(a); a = a.sort(); alert(a); // 実行結果 0, 1, 10, 12, 14, 2, 2, 4, 6
あれ?思った動きじゃなかった。文字列で比較してくれるのね...。
調べると、sort()にfunctionを渡せるらしい。
function compare(a, b) { return a-b; } a = [ 0, 1, 2, 10, 12, 14, 4, 6, 2 ]; alert(a); a = a.sort(compare); alert(a); // 実行結果 0, 1, 2, 2, 4, 6 10, 12, 14
これで、思った動きに。
前もはまったことがあるような気がするけれど、そのときはどうしたんだっけ?