JS 配列の並べ替え: sort() メソッドの基本的な使用法分析
JavaScript では、配列は一般的に使用されるデータ構造であり、並べ替えとは要素を並べ替えることです。 array 並べ替えの一般的な操作。 JS には、特定のルールに従って配列を並べ替えることができる sort() メソッドが用意されています。この記事では、sort() メソッドの基本的な使用法を詳しく紹介し、具体的なコード例を示します。
sort() メソッドは配列のネイティブ メソッドであり、配列オブジェクトの sort() を呼び出すことで使用できます。これには 2 つの用途があります:
まず、最初の使用法のサンプル コードを見てみましょう:
let arr = [5, 2, 8, 1, 4]; arr.sort(); console.log(arr); // 输出:[1, 2, 4, 5, 8]
上記のコードでは、配列 arr
内の要素が変換されます。 to 文字列の後に、Unicode エンコード順序に従って並べ替えられます。結果は [1、2、4、5、8] です。
ただし、sort() メソッドはデフォルトで文字列でソートするため、混乱を招く結果が生じます。例:
let arr2 = [10, 100, 1, 20, 2]; arr2.sort(); console.log(arr2); // 输出:[1, 10, 100, 2, 20]
上記のコードでは、配列 arr2
の並べ替え結果は、期待どおりではなく、[1, 2, 10, 20, 100] ではなく、[1, 10、100、2、20]。これは、並べ替えプロセス中に、数値 10、100、2、および 20 が最初に文字列に変換され、次に Unicode エンコードの順序で並べ替えられるため、誤った結果が得られるためです。
この問題を解決するには、2 番目の使用法を使用する必要があります。つまり、比較関数をパラメータとして渡します。比較関数には 2 つのパラメーターが必要です。比較する 2 つの要素を関数に渡し、関数の戻り値に基づいて並べ替え順序を決定します。
以下は具体的なサンプル コードです:
let arr3 = [10, 100, 1, 20, 2]; arr3.sort(function(a, b) { return a - b; }); console.log(arr3); // 输出:[1, 2, 10, 20, 100]
上記のコードでは、比較関数を sort() メソッドに渡します。この比較関数は a - b の結果を返し、配列内の要素を小さいものから大きいものへと並べ替えます。結果は [1、2、10、20、100] になります。
a - b
を比較関数として使用することに加えて、他の関数を使用して並べ替えルールを定義することもできます。文字列の長さによる並べ替えの例を以下に示します。
let arr4 = ["apple", "banana", "cherry", "date"]; arr4.sort(function(a, b) { return a.length - b.length; }); console.log(arr4); // 输出:["date", "apple", "cherry", "banana"]
上記のコードでは、カスタム比較関数を sort() メソッドに渡します。この比較関数は、a.length - b.length の結果を返します。これにより、配列内の文字列が最短の長さから最長の長さの順に並べ替えられます。結果は ["ナツメ"、"リンゴ"、"チェリー"、"バナナ"] となります。
概要:
JS の array sort() メソッドは、強力で実用的な並べ替えツールです。さまざまなパラメーターを使用すると、さまざまなルールに従って配列を並べ替えることができます。 sort() メソッドを使用する場合、デフォルトの Unicode エンコード順序に従って並べ替えるだけであれば、パラメータを渡さずに直接 sort() メソッドを呼び出すことができます。並べ替えルールをカスタマイズする必要がある場合は、比較関数をパラメータとして渡すことで実行できます。
以上がJS 配列のソート: sort() メソッドの基本的な使用法分析を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。