English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript配列sort()メソッド

 JavaScript 数組オブジェクト

sort()メソッドは配列の要素を並び替え(最初の文字に基づいて)し、配列を返します。

デフォルトでは、sort()メソッドは昇順で/値を辞書順に並び替えます。

これは文字列(「December」が「February」よりも先)に適用されます。

しかし、数字が文字列として並び替えられる場合、「35「>」150」なのは、「3「>」1。

ただし、"compare"関数を提供することで並び替えアルゴリズムを変更できます。

注意: sort()メソッドは元の配列を変更します。

文法:

array.sort(compareFunction)
var months = ['March'、 'Jan'、 'Feb'、 'Dec'];
months.sort();
テストしてみる‹/›

ブラウザの互換性

テーブルの数字は、sort()メソッドを完全にサポートする最初のブラウザのバージョンを指定しています:

メソッド
sort()115.5

引数の値

引数説明
compareFunction(オプション)並び替え順を指定する関数を指定します。省略すると、辞書順で配列を並び替えます。

技術的詳細

返り値:並び替えられた配列
JavaScriptバージョン:ECMAScript 1

さらに詳しい例

配列の数字を昇順に並び替える:

var nums = [5, 1, 2, 7, 3, 6, 4];
nums.sort();
テストしてみる‹/›

sort()デフォルトでは、数字の配列は大きさに並び替えられません。代わりに、数字の最初の文字だけをチェックします:

var nums = [5, 1, 2, 17, 13, 6, 34];
nums.sort();
テストしてみる‹/›

数字を正しく並び替えるために、比較関数を作成してパラメータとして渡すことができます:

var nums = [5, 1, 2, 17, 13, 6, 34];
nums.sort(function(a, b) { return a - b});
テストしてみる‹/›

配列の数字を降順に並び替える:

var nums = [5, 1, 2, 17, 13, 6, 34];
nums.sort(function(a, b) { return b - a});
テストしてみる‹/›

配列から最小値と最大値を取得する:

function myFunc() {
var nums = [5, 1, 2, 7, 3, 6, 4];
nums.sort(); // 配列の並び替え
var low = nums[0];   // 最初のインデックスの値が最小
var high = nums[nums.length-1];  // 最後のインデックスの値が最大
}
テストしてみる‹/›

 JavaScript 数組オブジェクト