sort() は js 配列の並べ替えをどのように実装しますか?この記事では、js 配列の sort() の原理と、sort() がどのように js 配列をソートするかを理解できるように、js 配列をソートするための sort() メソッドを紹介します。困っている友人は参考にしていただければ幸いです。
まず、js sort() メソッド を見て、簡単なコード例を通して sort() 並べ替えメソッドを見てみましょう。
sort() メソッド: 配列の要素をソートするために使用されます。配列をソートするときに、新しいメモリは開かれず、元の配列要素が置き換えられます。
1. sort() メソッドは、JS の単純な配列の単純な並べ替え (バブル ソート) を実装します。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div> <p>数组:6,2,4,3,5,1</p> <span>排序后:</span> </div> <script type="text/javascript"> var arrSimple = new Array(6,2,4,3,5,1); arrSimple.sort(); document.writeln(arrSimple.join()); </script> </body> </html>
レンダリング:
sort() の並べ替えの原則を見てみましょう:
sort() の並べ替えは
Array: [6,2,4, 3] です。 ,5,1]
最初のラウンドの開始
初めて 6 と 2 を比較すると、6 は 2 より大きく、2 と 6 が得られ、元の配列は [2,6,4 になります。 ,3,5,1]
2 回目に 2 番目と 3 番目の数値を比較します: 6 と 4、6 は 4 より大きいので、4 と 6 が得られ、結果は [2,4,6,3,5,1]
になります。
3 番目と 4 番目の数値、6 と 3 を 3 回比較すると、[2,4,3,6,5,1]
が得られます。
5 と 6 を 4 回目に比較すると、結果は [2,4,3,5,6,1]
になります。
5 回目に 6 と 1 を比較すると、結果は [2,4,3,5,1,6]
第 1 ラウンドの終了
第 2 ラウンドの開始
初めて 2 と 4 を比較すると、2 は 4 より小さく、結果は同じままです [2,4,3,5,1,6]
2 回目に 4 と 3 を比較すると、結果は [2 ,3,4,5, 1,6]
3 回目の 4 と 5 の比較。4 は 5 より小さいため、結果は変わりません。[2,3,4,5,1,6]
比較4 回目の 5 と 1 の結果は [2 ,3,4,1,5,6]
第 2 ラウンドの終了
第 3 ラウンドの開始
2 と 3 の比較初めて、2 は 3 より小さく、結果は変わりません [2, 3,4,1,5,6]
2 回目に 3 と 4 を比較すると、3 は 4 より小さいですが、結果は変わりません[2,3,4,1,5,6]
3 回目の 4 と 1 の比較、結果は [2,3,1,4,5,6]
3 ラウンドの終了
4 ラウンド開始
初めて 2 と 3 を比較すると、2 は 3 より小さく、結果は変わりません [2,3,1,4,5,6]
1 を比較2 回目は 3、結果は [2,1,3,4,5,6] です。
第 4 ラウンドの終了
第 5 ラウンドの開始
初回は 2 と 1を比較すると、結果は [1,2,3,4,5,6]
5 ラウンドが終了し、並べ替えが終了します。
配列をソートした後の結果 (合計 15 回の比較): [1,2,3,4,5,6]
2、sort() メソッドの実装 js Custom単純な配列の並べ替え
##
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div> <p>数组:1,8,7,6</p> <span>从大到小 排序后:</span> </div> <script type="text/javascript"> var arrSimple2 = new Array(1, 8, 7, 6); arrSimple2.sort(function(a, b) { return b - a; }); document.writeln(arrSimple2.join()); </script> </body> </html>
#分析してみましょう:
a, b return > 0 の場合、戻り値は次のようになります。 reutrn < 0 の場合、戻り値は次のようになります。 ; 注: a=b の場合、ブラウザの互換性があります。
簡単に言うと、a-b の出力は小さいものから大きいものにソートされ、b-a の出力は大きいものから小さいものにソートされます。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div> <p>对象数组:<br><br> jack,20岁<br> tony,25岁<br> stone,26岁<br> mandy,23岁<br> </p> <span>按照年龄排序后:</span> </div> <script type="text/javascript"> var objectList = new Array(); function Persion(name,age){ this.name=name; this.age=age; } objectList.push(new Persion('jack',20)); objectList.push(new Persion('tony',25)); objectList.push(new Persion('stone',26)); objectList.push(new Persion('mandy',23)); //按年龄从小到大排序 objectList.sort(function(a,b){ return a.age-b.age}); for(var i=0;i<objectList.length;i++){ document.writeln('<br />'+objectList[i].name+','+objectList[i].age+'岁'); } </script> </body> </html>
要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連チュートリアルの詳細については、
JavaScript ビデオ チュートリアル、jQuery ビデオ チュートリアル 、bootstrap チュートリアル をご覧ください。
以上がjs配列をソートするsort()メソッドの詳細説明(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。