ホームページ > ウェブフロントエンド > jsチュートリアル > js配列をソートするsort()メソッドの詳細説明(コード例)

js配列をソートするsort()メソッドの詳細説明(コード例)

青灯夜游
リリース: 2018-10-16 11:35:16
オリジナル
3445 人が閲覧しました

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>
ログイン後にコピー

レンダリング:

js配列をソートするsort()メソッドの詳細説明(コード例)

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>
ログイン後にコピー

レンダリング:


js配列をソートするsort()メソッドの詳細説明(コード例)#分析してみましょう:

a, b return > 0 の場合、戻り値は次のようになります。 reutrn < 0 の場合、戻り値は次のようになります。 ; 注: a=b の場合、ブラウザの互換性があります。

簡単に言うと、a-b の出力は小さいものから大きいものにソートされ、b-a の出力は大きいものから小さいものにソートされます。


3. sort() メソッドは、JS の単純なオブジェクト配列のカスタム属性の並べ替え (年齢属性で並べ替え) を実装します。

<!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(&#39;jack&#39;,20));
        objectList.push(new Persion(&#39;tony&#39;,25));
        objectList.push(new Persion(&#39;stone&#39;,26));
        objectList.push(new Persion(&#39;mandy&#39;,23));
        //按年龄从小到大排序
        objectList.sort(function(a,b){
            return a.age-b.age});
        for(var i=0;i<objectList.length;i++){
            document.writeln(&#39;<br />&#39;+objectList[i].name+&#39;,&#39;+objectList[i].age+&#39;岁&#39;);
            }
    </script>
	</body>
</html>
ログイン後にコピー

レンダリング:


js配列をソートするsort()メソッドの詳細説明(コード例)要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連チュートリアルの詳細については、

JavaScript ビデオ チュートリアル

jQuery ビデオ チュートリアル bootstrap チュートリアル をご覧ください。

以上がjs配列をソートするsort()メソッドの詳細説明(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート