JSでの配列の並べ替え方法

Dec 07, 2016 am 10:34 AM
js

1. 配列には、並べ替えに直接使用できるメソッドがすでに 2 つあります: reverse() と sort()。

reverse() メソッドと sort() メソッドの戻り値は、ソートされた配列です。 reverse() メソッドは配列項目の順序を逆にします:

var values=[1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1
ログイン後にコピー

デフォルトでは、sort() メソッドは配列を昇順にソートし、sort() メソッドは toString() 変換メソッドを呼び出します。次に、文字列を比較して並べ替え方法を決定します。配列内の各項目が数値であっても、sort() メソッドは文字列を比較します。

var values = [0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5
ログイン後にコピー

したがって、sort() メソッドはパラメータとして比較関数を受け取ることができます。

function compare(value1,value2){
if (value1 < value2){
return -1;
}else if (value1 > value2){
return 1;
}else{
return 0;
}
}
ログイン後にコピー

この比較関数はほとんどのデータ型に適用でき、パラメータとして sort() メソッドに渡すだけです:

var values = [0,1,3,7,9,15];
values.sort(compare);
alert(values); //0,1,3,7,9,15
ログイン後にコピー

降順ソートも比較関数を通じて生成できます。関数の戻り値を交換するだけです:

function compare (value1, value2){
if (value1<value2){
return 1;
}else if {
return -1;
}else{
return 0;
}
}
ログイン後にコピー

sort() 関数のソート条件は次のとおりです:

パラメーターが 0 より大きい、arr 交換位置の 2 つの隣接する要素

パラメーターが 0 未満、2 つの隣接する要素。 arr の要素は位置を交換しません。

パラメーターは 0 に等しく、arr の 2 つの隣接する要素のサイズは等しいため、比較カスタム関数は数値を返す必要があります。

2. 数値型の場合、または valueOf() メソッドは数値型のオブジェクト型を返します。


より単純な比較関数を使用できます。この関数には、2 番目の値から最初の値を引いた値のみが必要です。

りー

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JS と Baidu Maps を使用してマップ パン機能を実装する方法 JS と Baidu Maps を使用してマップ パン機能を実装する方法 Nov 21, 2023 am 10:00 AM

JS と Baidu Maps を使用してマップ パン機能を実装する方法

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます 株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます Dec 17, 2023 pm 06:55 PM

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする

PHP と JS を使用して株価ローソク足チャートを作成する方法 PHP と JS を使用して株価ローソク足チャートを作成する方法 Dec 17, 2023 am 08:08 AM

PHP と JS を使用して株価ローソク足チャートを作成する方法

JSとBaidu Mapsを使って地図ポリゴン描画機能を実装する方法 JSとBaidu Mapsを使って地図ポリゴン描画機能を実装する方法 Nov 21, 2023 am 10:53 AM

JSとBaidu Mapsを使って地図ポリゴン描画機能を実装する方法

JSと百度地図を使って地図クリックイベント処理機能を実装する方法 JSと百度地図を使って地図クリックイベント処理機能を実装する方法 Nov 21, 2023 am 11:11 AM

JSと百度地図を使って地図クリックイベント処理機能を実装する方法

JSとBaidu Mapsを使ってマップヒートマップ機能を実装する方法 JSとBaidu Mapsを使ってマップヒートマップ機能を実装する方法 Nov 21, 2023 am 09:33 AM

JSとBaidu Mapsを使ってマップヒートマップ機能を実装する方法

See all articles