ホームページ > ウェブフロントエンド > jsチュートリアル > 配列の要素を並べ替える JavaScript メソッド sort()

配列の要素を並べ替える JavaScript メソッド sort()

黄舟
リリース: 2017-11-03 13:21:58
オリジナル
2246 人が閲覧しました

定義と使用法

sort()メソッドは、arrayの要素をソートするために使用されます。

構文

arrayObject.sort(sortby)
ログイン後にコピー
パラメータ説明
sortbyオプション。ソート順を指定します。関数である必要があります。

戻り値

配列への参照。配列は元の配列に基づいてソートされ、コピーは作成されないことに注意してください。

説明

このメソッドを呼び出すときにパラメータが使用されない場合、配列内の要素はアルファベット順にソートされます。より正確には、文字エンコーディングの順にソートされます。これを実現するには、まず配列の要素を (必要に応じて) 比較のために 文字列 に変換する必要があります。

他の基準で並べ替えたい場合は、2 つの値を比較し、2 つの値の相対的な順序を示す数値を返す比較関数を提供する必要があります。比較関数には 2 つのパラメーター a と b が必要で、その戻り値は次のとおりです:

  • a が b より小さい場合、a はソートされた配列内で b より前に表示され、0 より小さい値を返します。

  • a が b に等しい場合、0 を返します。

  • a が b より大きい場合、0 より大きい値を返します。

例1

この例では、配列を作成し、アルファベット順に並べ替えます:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())

</script>
ログイン後にコピー

出力:

George,John,Thomas,James,Adrew,Martin
Adrew,George,James,John,Martin,Thomas
ログイン後にコピー

例2

この例では、配列を作成し、アルファベット順に並べ替えます:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort())

</script>
ログイン後にコピー

出力:

10,5,40,25,1000,1
1,10,1000,25,40,5
ログイン後にコピー

上記のコードは、サイズに応じて数値を並べ替えないことに注意してください。これを実現するには、並べ替え関数を使用する必要があります:

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>
ログイン後にコピー

出力:

10,5,40,25,1000,1
1,5,10,25,40,1000
ログイン後にコピー

js で sort() メソッドを使用します。ソート番号

<script>
  var arr = [23,12,1,34,116,8,18,37,56,50];
  alert(arr.sort();
</script>
ログイン後にコピー

Return:

[1, 116, 12, 18, 23, 34, 37, 50, 56, 8]
ログイン後にコピー

以上が配列の要素を並べ替える JavaScript メソッド sort()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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