ホームページ  >  記事  >  ウェブフロントエンド  >  JSで特定のルールに従って配列要素をソートする方法

JSで特定のルールに従って配列要素をソートする方法

青灯夜游
青灯夜游オリジナル
2021-08-27 14:34:557523ブラウズ

前回の記事では、すべての配列要素が指定された条件を満たしているかどうかを検出するいくつかの方法を紹介しました。興味のある方は、リンクをクリックして確認してください→「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)

出力結果:

JSで特定のルールに従って配列要素をソートする方法

上記のコードは小さい順にソートされていますが、大きい順にソートしたい場合は追加・修正してください。 if ステートメントの判断:

if(a[j]>a[j+1]){
...
}

JSで特定のルールに従って配列要素をソートする方法

方法 2: sort() メソッドを使用する

sort() メソッドは次のことができます。特定の条件に従って配列要素を並べ替えます。

構文: array.sort([function])

sort() メソッドは 2 つの状況で使用されます。メソッド パラメーターが空の場合、配列内の要素は小さいものから大きいもののアルファベット順に並べ替えられます。

  • いわゆるアルファベット順は、実際には文字コード表の文字の順序に従って配置されており、各文字には文字表内で固有の番号が割り当てられています。

    var a=[&#39;e&#39;,&#39;a&#39;,&#39;f&#39;,&#39;b&#39;,&#39;c&#39;,&#39;h&#39;,&#39;g&#39;,&#39;z&#39;,&#39;i&#39;]
    a.sort();  //按字母顺序对元素进行排序
    console.log(a);
  • 出力結果:

要素が文字列でない場合、sort() メソッドは比較のために配列要素を文字列に変換しようとします。数字をアルファベット順に並べると、「40」が「5」より前に来ることに注意してください。

var a=[1,2,40,4,5,50,6,7,8]
a.sort();  //按字母顺序对元素进行排序
console.log(a);
JSで特定のルールに従って配列要素をソートする方法出力結果:

現時点では、パラメータとして関数を呼び出す必要があります。これは、以下の 2 番目のケースです:

JSで特定のルールに従って配列要素をソートする方法

パラメータが関数の場合、配列要素は関数で指定されたルールに従って並べ替えられます。

  • 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=[&#39;345px&#39;,&#39;23px&#39;,&#39;10px&#39;,&#39;1000px&#39;];
a.sort(function(a,b){
     return parseInt(a)-parseInt(b);;//从小到大排序
     //return parseInt(b)-parseInt(a);//从大到小排序
});
console.log(a);
JSで特定のルールに従って配列要素をソートする方法出力結果:

方法 3: reverse() メソッドの使用JSで特定のルールに従って配列要素をソートする方法

変更を回避する方法配列要素 小さいものから大きいものへ (または大きいものから小さいものへ) ソートしますが、逆の順序でソートしたい場合は ?その後、 reverse() メソッドを使用できます。

reverse() メソッドは配列要素の順序を逆にすることができます。このメソッドにはパラメータは必要なく、array object.reverse() だけを必要とします。

var a=[&#39;345px&#39;,&#39;23px&#39;,&#39;10px&#39;,&#39;1000px&#39;];
a.reverse();
console.log(a);

出力結果:

説明: JSで特定のルールに従って配列要素をソートする方法

sort() および reverse() メソッドすべての操作は、新しい配列を作成するのではなく、元の配列に対して実行されるため、元の配列は変更されます。
わかりました。これですべてです。必要な場合は、ご覧ください:

JavaScript ビデオ チュートリアル

以上がJSで特定のルールに従って配列要素をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。