「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript の `sort()` メソッドは数値の並べ替えにコールバック関数をどのように使用しますか?

JavaScript の `sort()` メソッドは数値の並べ替えにコールバック関数をどのように使用しますか?

2024 年 11 月 26 日に公開
ブラウズ:102

How Does JavaScript's `sort()` Method Use a Callback Function for Numerical Sorting?

JavaScript の Sort() メソッドが数値の並べ替えにコールバック関数を利用する方法

JavaScript では、sort() メソッドを使用して配列を並べ替えることができますカスタマイズされた方法で。このメソッドの複雑さを理解することは、特に初心者にとっては難しい場合があります。

Sort() メソッドによるコールバック関数の利用方法

sort() メソッドはコールバックを受け取ります。引数として機能します。この関数は並べ替えプロセス中に複数回呼び出され、毎回 2 つの数値が渡されます。これらの数値は、現在比較されている要素を表します。関数の戻り値によって、最終的に並べ替えられた配列内でこれらの要素がどのように並べられるかが決まります。

例:

次のコードを考えてみましょう:

var array=[25, 8, 7, 41]

array.sort(function(a,b){
  return a - b
})

この例では、sort() メソッドを使用して配列配列を昇順に並べています。コールバック関数は次のように定義されます:

function(a,b){
  return a - b
}

このコールバック関数は、比較される 2 つの要素を表す 2 つのパラメーター a と b を取ります。それらの差 (a - b) を計算します。

並べ替え基準

コールバック関数の計算の結果によって並べ替え順序が決まります。結果が次の場合:

  • 0 より大きい: a で表される要素は、並べ替えられた配列内で b で表される要素よりも前にあります。
  • Equal ~ 0: 要素の順序は変わりません。
  • 0 未満: 表現される要素by b は、ソートされた配列内で a で表される要素の前に置かれます。

並べ替えプロセス

sort() メソッドは配列を反復処理し、コールバック関数を呼び出します。要素のペアごとに。関数の出力に基づいて、配列全体がソートされるまで要素の順序が調整されます。

コールバック呼び出しのログ (例)

コールバックを変更した場合次のような関数:

function(a,b){
  console.log(`comparing ${a},${b}`);
  return a > b ? 1
               : a === b ? 0 
                         : -1;
}

コールバック呼び出しの次のログを取得します:

comparing 25,8
comparing 25,7
comparing 8,7
comparing 25,41

これは、コールバック関数が実際に複数回呼び出され、反復ごとに要素のペアが変化することを示しています。

要約すると、JavaScript の sort() メソッドはコールバック関数を利用します。配列要素をペアで比較することによって、配列要素の並べ替え順序を決定します。このコールバック関数は並べ替えプロセス中に複数回呼び出され、その出力によって最終的に並べ替えられた配列が決定されます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3