JavaScript | sort( )


sort()メソッドは、数値、文字列だけでなく、オブジェクトのソートにも使用できるため、利用率が高い.
しかし毎日混同しています...だから整理して!

sort()


:sort()メソッドは、配列内の要素を適切な位置に並べ替え、配列を返します.
  • パラメータ
    compareFunction | Optional
    ソート順を定義する関数.省略すると、配列は各要素の文字列変換に基づいて各文字のUnicodeコードポイント値で並べ替えられます.
  • デフォルトではcompareFnが省略されている場合は=>昇順で並べ替えられます
    では昇順にcomparefnは必要ありませんか??
    次の例を示します.
    const arr = [2, 1, 3, 10];
    //
    arr.sort();
    document.writeln(arr + '<br>'); // [1, 10, 2, 3]
    //
    //- 배열을 오름차순으로 정렬(Infinity 및 NaN이 포함되어 있지 않은 경우).```
    各インデックスの最初の位置の値を比較することによって、所望の[1,2,3,10]値を得ることができない.
    👉🏻 各インデックスタイプが数値の配列を昇順にソートするには、パラメータ(compareFunction)を使用する必要があります.
    const arr = [2, 1, 3, 10];
    //
    arr.sort(function(a, b)  {
      if(a > b) return 1;
      if(a === b) return 0;
      if(a < b) return -1;
    });
    :a,bは2つのパラメータを受信し,a>bは1を返し,a=bは0を返し,a⇨ case 1. 「比較機能」が提供されていない場合.
    要素を文字列に変換し、Unicodeコードポイント順に文字列を比較してソートします.例えば、「バナナ」は「さくらんぼ」の前に現れます.数値ソートでは、9が80より優先されますが、数値は文字列に変換されるため、Unicode順序の9よりも「80」が優先されます.
    const months = ['March', 'Jan', 'Feb', 'Dec'];
    months.sort();
    console.log(months);
    // expected output: Array ["Dec", "Feb", "Jan", "March"]
    //
    const array1 = [1, 30, 4, 21, 100000];
    array1.sort();
    console.log(array1);
    // expected output: Array [1, 100000, 21, 30, 4]
    ⇨ case 2. 「比較機能」を提供する場合.
    :配列要素はcompare関数の戻り値に基づいてソートされます.aとbが比較的2つの要素であるとすると、

  • 比較Function(a,b)が0より小さい場合、aはbより低いインデックスに並べ替えられる.つまり、aが先に来る.

  • compareFunction(a,b)が0を返すと、aおよびbは変更されずに他のすべての要素がソートされます.
    *注意:ECMAScript規格ではこの動作は保証されていないため、すべてのブラウザ(たとえば、Mozillaバージョンは少なくとも2003年以降のバージョン)ではサポートされていません.

  • 比較Function(a,b)が0より大きい場合、bはaより低いインデックスとして起動される.つまりbが先に来る.

  • 比較機能(a,b)は、要素aとbの特定のペアに2つの引数が付与された場合、常に同じ値を返さなければならない.一致しない結果を返すと、ソート順は定義されません.
  • const arr = [2, 1, 3, 10];
    // ↘️ 내림차순 정렬
    arr.sort(function(a, b)  {
        return b - a;
    }); //  [10,3,2,1]
    // ↗️ 오름차순 정렬
    const arr = [2, 1, 3, 10];
    arr.sort(function(a, b)  {
      return a - b;
    }); //  [1,2,3,10]
    ソートソース|配列(昇順、降順、文字列、オブジェクト)
    オブジェクトのソート