es6 配列のソート方法は「sort()」です。 sort() メソッドは、配列の要素を並べ替えるために使用されます。並べ替え順序は、アルファベット順または数値順、および昇順または降順にできます。デフォルトはアルファベット昇順です。このメソッドにはオプションのパラメータがあり、これは関数である必要があります、構文は「array.sort(callback(a,b))」です。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
sort() メソッドは、配列の要素を並べ替えるために使用されます。
並べ替え順序は、アルファベット順または数値順、および昇順または降順にすることができます。
デフォルトの並べ替え順序はアルファベット昇順です。
その中で、sort() メソッドにはオプションのパラメーターがあります。ただし、このパラメータは関数である必要があります。配列の sort() メソッドを呼び出すとき、パラメーターが渡されない場合、配列内の要素はアルファベット順 (文字エンコーディング順) にソートされます。他の条件に従ってソートしたい場合は、パラメーターを渡す必要があります。この関数は 2 つの値を比較し、2 つの値の相対的な順序を表す数値を返します。
構文:
array.sort(callback(a,b))
パラメータ | 説明 |
---|---|
callback(a,b) | オプション。ソート順を指定します。関数である必要があります。 |
#戻り値: 配列への参照である配列型。配列は元の配列に基づいてソートされ、コピーは作成されないことに注意してください。
例:
//sort的基本使用 let arr = [8, 1, 4, 3, 7, 9] let Arr = [21, 55, 29, 105, 45] console.log(arr.sort()) //[1, 3, 4, 7, 8, 9] console.log(Arr.sort()) // [105, 21, 29, 45, 55]
上記のコードから、sort() メソッドは 0 ~ 9 の配列のみを正しく並べ替えることができることがわかります。 . 100桁を超える配列項目については戻り値が与えられますが、ソート結果ではありません。これは、sort() が数値ではなく ASCLL コードに基づいて内部ソートを実行するためです。したがって、この方法では 2 桁を超える数値については正式な並べ替えさえできません。
ここで重要な点がわかります。sort() は 2 つの仮パラメータを運ぶコールバック (a, b) を受け取ることができます。つまり、a と b はサイズが比較される 2 つの要素であり、戻り値である必要があります。
コールバックの戻り値が正の数の場合、b は a の前に配置されます;
コールバックの戻り値が次の場合負の数の場合、a は b の前に配置されます。
#コールバックの戻り値が 0 の場合、a と b の位置は変更されません。
//sort 内部写法 let Arr = [56, 21, 29, 105, 45] Arr.sort(function(a, b) { //callback if (a > b) { // a b 分别是Arr中的 56 21 return 1 //返回正数 ,b排列在a之前 } else { return -1 //返回负数 ,a排列在b之前 } }) console.log(Arr) //[21, 29, 45, 55, 105]
//简写 最终版 let Arr = [56, 21, 88, 10, 5, 77] Arr.sort((a, b) => a - b) //箭头函数不加大括号指向这个函数的返回值,可以不写return关键字 console.log(Arr) //[5, 10, 21, 56, 77, 88]
数学で、大きな数 - 小さな数 ≠ 正の数、小さな数 - 大きな数 ≠ 負の数の場合、このように省略することはできません。したがって、sort は相互に減算するのではなく、内部的に相互に比較することは明らかです; [関連する推奨事項:
JavaScript ビデオ チュートリアル 、Web フロントエンド ]
以上がes6配列のソート方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。