JavaScript 配列の sort() メソッド

sort()> 方法 JavaScript では、配列の要素を所定の位置に配置し、ソートされた配列を返します。デフォルトでは、要素は文字列として扱われ、アルファベット順に並べ替えられます。

ただし、数値による並べ替えの場合は、カスタム比較関数を提供できます。この機能は並べ替え基準を指定し、並べ替えプロセスを正確に制御できるようにします。 `sort()` は、専門的かつ正式な方法で特定の要件に従って配列要素を整理できるようにすることで、JavaScript アプリケーションの効率と機能を強化します。

構文

arr.sort(compareFunction); 

パラメーター

  • array> : ソートする配列。
  • compareFunction> (オプション): ソート順序を定義する関数。省略した場合、配列要素は文字列 Unicode コード ポイントに基づいて並べ替えられます。

戻り値

このメソッドは、ソートされた元の配列の参照を返します。

例:

例 1: 文字列の配列を並べ替える

この例は、sort() 関数の使用法を示しています。

JavaScript
// JavaScript to illustrate sort() function function func() {  // Original string  let arr = ['Geeks', 'for', 'Geeks']  console.log(arr);  // Sorting the array  console.log(arr.sort()); } func(); 

出力
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ] 

説明:

sort()> メソッドは、要素を再配置します。 arr> アルファベット順に配列し、出力を生成します ['Geeks', 'Geeks', 'for']>

例 2: 比較関数を使用せずに数値の配列を並べ替える

ここで、 選別() このメソッドは、配列の要素を昇順に配置します。

JavaScript
// JavaScript to illustrate sort() function function func() {  //Original string  let arr = [2, 5, 8, 1, 4]  //Sorting the array  console.log(arr.sort()); } func(); 

出力
[ 1, 2, 4, 5, 8 ] 

説明:

sort()> メソッドは数値の配列に対して呼び出されます [2, 5, 8, 1, 4]> 。の sort()> このメソッドでは、比較関数が提供されていないため、要素がアルファベット順に並べ替えられます。したがって、出力は次のようになります。 [1, 2, 4, 5, 8]> 、数値の文字列表現に基づいてアルファベット順に並べ替えられます。

例 3: 比較機能を使用しない数値のソート

ここでは比較関数を使わずに数値をソートしています。

JavaScript
let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort()) 

出力
[ -120, 0, 100, 20, 30, 5.2 ] 

説明:

を使用するときは、 sort()> 比較関数を使用しないメソッドを使用すると、JavaScript はデフォルトで配列要素を文字列としてソートします。これにより、数値配列に対して期待される結果が常に得られるとは限りません。並べ替えプロセスを詳しく見てみましょう。

  • JavaScript は配列の各要素を文字列に変換します。
  • 次に、文字列内の各文字の UTF-16 コード単位を比較し、Unicode コード ポイント値に基づいて並べ替えます。

配列で何が起こるかは次のとおりです。

  • 数値は文字列に変換されます。 ['20', '5.2', '-120', '100', '30', '0']>
  • アルファベット順に並べると、 -120> 最初に来るのは -> 数字よりも低い Unicode コード ポイント値を持ちます ( 0> 9> )。それから来ます 0> 、 に続く 100> 20> 30> 、 そして 5.2>

例 4: コンペア機能による数値のソート

上記の例で発生した予期しないエラーは、次の比較関数を使用して数値の sort() メソッドを使用することで解決できます。

JavaScript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 は 20、20 - (-120) = +ve => -120 の前に配置されます。 20、20 - (100) = -ve => 100 は 20、20 - (30) = - の後に配置されます。 ve => 30 は 20 の後に配置され、20 - (0) = +ve => 0 は 20 の前に配置されます。同様に、すべての要素について、反復でチェックし、それに応じて配置します。 */ function Compare(a, b) { return a - b; console.log(numbers.sort(比較));> 

出力
[ -120, 0, 5.2, 20, 30, 100 ] 

説明:

  • compare> 関数の減算 b> から a> 。結果が陰性の場合は、 a> 前に来る b> ソートされた配列内。陽性の場合、 b> 前に来る a> ;ゼロの場合、相対的な順序は変更されません。
  • このカスタム比較関数を sort()> メソッド、JavaScript が配列をソートする numbers> 要素の数値に基づいて決定されます。

これを通過してください JavaScript を使用して数値配列を並べ替えるにはどうすればよいですか? 、JavaScript の配列ソート関数がどのように機能するかを知るため

Javascript 配列メソッドの完全なリストがあります。これらを確認するには、これを参照してください。 Javascript 配列の完全なリファレンス 記事。

サポートされているブラウザ:

  • グーグルクローム
  • インターネットエクスプローラ
  • Firefox
  • オペラ
  • サファリ