JavaScriptで配列をソートする

JavaScriptで配列をソートする

JavaScriptで配列をソートするにはsort()を使います。

var arr = ["2","11","1"];
arr.sort();
alert(arr);

デモです。

1,11,2の結果になります。

1,2,11としたい場合は比較関数を使って比較します。

<script type="text/javascript">
function test(){
var arr = ["2","11","1"];
arr.sort(func);
alert(arr);
}
// 比較関数
function func(a,b){
return a-b;
}
</script>

デモです。

比較関数をreturn b-aとすれば降順でソートされます。

配列要素が数値の場合

配列要素が数値の場合、数値は文字列として変換されてソートされます。その為辞書順となる為、意図したとおりのソートとなりません。

Array.prototype.sort()

let arr = [1, 2, 23, 3, 4];
arr.sort();
console.log(arr); // [1, 2, 23, 3, 4]とソートされてしまう

arr.sort((a, b) => a - b); // 比較関数をアロー関数で定義
console.log(arr); // [1, 2, 3, 4, 23]とソートされる

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました