めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

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

これで、思った動きに。
前もはまったことがあるような気がするけれど、そのときはどうしたんだっけ?