ホームページ > 記事 > ウェブフロントエンド > JSで特定のルールに従って配列要素をソートする方法
前回の記事では、すべての配列要素が指定された条件を満たしているかどうかを検出するいくつかの方法を紹介しました。興味のある方は、リンクをクリックして確認してください→「JS 配列学習: 配列要素が指定された条件を満たしているかどうかを判断する」すべてが指定された条件を満たしています。条件"。今回は配列のソートについてお話し、JavaScriptで配列要素をソートする方法を紹介します。
今日の記事の主な内容は、配列要素を特定のルールに従って並べ替えることです。さっそく、配列要素を並べ替える 3 つの方法を説明します。
方法 1: for ループを使用する
for ループを使用して配列を並べ替える場合、バブル ソートが思い浮かびます。実装コードを見てみましょう。
//每轮依次比较相邻两个数的大小,后面比前面小则交换 var b=0//设置用来调换位置的值 var a=[1,9,33,2,5,34,23,98,14]//冒泡排序 for(var i=0;i<a.length;i++){ for(var j=0;j<a.length;j++){ if(a[j]>a[j+1]){ b=a[j] a[j]=a[j+1] a[j+1]=b } } } console.log(a)
出力結果:
上記のコードは小さい順にソートされていますが、大きい順にソートしたい場合は追加・修正してください。 if ステートメントの判断:
if(a[j]>a[j+1]){ ... }
方法 2: sort() メソッドを使用する
sort() メソッドは次のことができます。特定の条件に従って配列要素を並べ替えます。
構文: array.sort([function])
sort() メソッドは 2 つの状況で使用されます。メソッド パラメーターが空の場合、配列内の要素は小さいものから大きいもののアルファベット順に並べ替えられます。
いわゆるアルファベット順は、実際には文字コード表の文字の順序に従って配置されており、各文字には文字表内で固有の番号が割り当てられています。
var a=['e','a','f','b','c','h','g','z','i'] a.sort(); //按字母顺序对元素进行排序 console.log(a);
var a=[1,2,40,4,5,50,6,7,8] a.sort(); //按字母顺序对元素进行排序 console.log(a);出力結果: 現時点では、パラメータとして関数を呼び出す必要があります。これは、以下の 2 番目のケースです:
パラメータが関数の場合、配列要素は関数で指定されたルールに従って並べ替えられます。
var a=[1,2,40,4,5,50,6,7,8] a.sort(function(a,b){ return a-b;//从小到大排序 //return b-a;//从大到小排序 }); console.log(a);
出力結果:
var a=['345px','23px','10px','1000px']; a.sort(function(a,b){ return parseInt(a)-parseInt(b);;//从小到大排序 //return parseInt(b)-parseInt(a);//从大到小排序 }); console.log(a);出力結果:
方法 3: reverse() メソッドの使用
変更を回避する方法配列要素 小さいものから大きいものへ (または大きいものから小さいものへ) ソートしますが、逆の順序でソートしたい場合は ?その後、 reverse() メソッドを使用できます。
reverse() メソッドは配列要素の順序を逆にすることができます。このメソッドにはパラメータは必要なく、array object.reverse() だけを必要とします。
var a=['345px','23px','10px','1000px']; a.reverse(); console.log(a);
出力結果:
説明:
sort() および reverse() メソッドすべての操作は、新しい配列を作成するのではなく、元の配列に対して実行されるため、元の配列は変更されます。
わかりました。これですべてです。必要な場合は、ご覧ください:
以上がJSで特定のルールに従って配列要素をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。