JavaScriptのArray.prototype.sort()メソッドの使い方をサンプルコードで解説
Array.prototype.sort()は、JavaScriptで配列の要素を並べ替えるための組み込みメソッドです。アルファベット順・数値順といった並び方に加えて、昇順・降順も自由に指定でき、配列操作の中でも特に使用頻度の高いメソッドの一つです。
ただし重要なポイントとして、sort()メソッドはデフォルトではすべての要素を文字列に変換してから比較します。そのため、数値の配列を意図したとおりに並べ替えたい場合は、比較関数を引数として渡す必要があります。
以下は、Array.prototype.sort()メソッドの基本的な使い方を示すサンプルコードです。
サンプルコード
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample,.result {
font-size: 18px;
font-weight: 500;
color: red;
}
.result {
color: rebeccapurple;
}
</style>
</head>
<body>
<h1>JavaScript Array.prototype.sort() method</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>Click on the above button to sort the array above</h3>
<script>
let sampleEle = document.querySelector(".sample");
let resultEle = document.querySelector(".result");
let arr = [9, 1, 4, 2, 99, 11, 22];
sampleEle.innerHTML = "Unsorted array = " + arr;
document.querySelector(".Btn").addEventListener("click", () => {
resultEle.innerHTML = "Sorted array = " + arr.sort();
});
</script>
</body>
</html>
実行結果
上記のコードをブラウザで実行すると、まずソート前の配列が画面に表示されます。

「CLICK HERE」ボタンをクリックすると、sort()メソッドによって配列が並べ替えられ、結果が下のように表示されます。

注意点:数値を正しくソートするには比較関数を使う
上のサンプルのようにsort()を引数なしで呼び出すと、配列[9, 1, 4, 2, 99, 11, 22]は文字列として比較されるため、実際には「1, 11, 2, 22, 4, 9, 99」の順に並びます。これは「11」が先頭の「1」として評価されるためです。
数値として正しく昇順・降順にソートしたい場合は、次のように比較関数を渡します。
arr.sort((a, b) => a - b); // 昇順にソート arr.sort((a, b) => b - a); // 降順にソート
このように書くことで、期待どおり「1, 2, 4, 9, 11, 22, 99」の順に数値ソートされます。また、元の配列自体が変更される(破壊的メソッドである)点にも注意してください。元の配列を保持したい場合は、あらかじめスプレッド構文などでコピーを作成しておきましょう。
-
JavaScriptのArray.prototype.includes()メソッドとは?配列内に特定の要素が含まれるか判定する方法
Array.prototype.includes()メソッドとは JavaScriptのArray.prototype.includes()メソッドは、配列の中に特定の要素が含まれているかどうかを判定するためのメソッドです。要素が見つかった場合はtrue、見つからなかった場合はfalseを返します。 基本構文 arr.includes(searchElement[, fromIndex]) searchElement:検索対象となる要素を指定します。 fromIndex(省略可能):検索を開始するインデックス位置です。省略した場合は先頭(0)から検索されます。 サンプルコード 以下は、in
-
JavaScriptのArray.prototype.flat()メソッドとは?配列を指定した深さで平坦化する方法
Array.prototype.flat()メソッドとはJavaScriptのArray.prototype.flat()メソッドは、ネストされた配列を指定した深さまで再帰的に平坦化(フラット化)するためのメソッドです。元の配列を変更することはなく、平坦化された新しい配列を作成して返します。引数には平坦化の深さ(depth)を数値で指定します。省略した場合はデフォルトで「1」が適用され、「Infinity」を指定すればすべての階層のネストを完全に展開することも可能です。コード例以下は、Array.prototype.flat()メソッドを使用したサンプルコードです。<!DOCTYPE h