JavaScript 配列 新しいページはコチラ
提供: yonewiki
(→配列ソート+ソート方法指定 sort) |
(→配列ソート+ソート方法指定 sort) |
||
973行: | 973行: | ||
例えば、以下のようにするとソート方法を制御する関数を指定することができます。 | 例えば、以下のようにするとソート方法を制御する関数を指定することができます。 | ||
− | + | :://降順ソート | |
*Data1Arr.sort(function(BeforeElement,AfterElement){ | *Data1Arr.sort(function(BeforeElement,AfterElement){ | ||
:::if(BeforeElement < AfterElement) return 1; | :::if(BeforeElement < AfterElement) return 1; | ||
987行: | 987行: | ||
*Data1Arr.sort(SortFunc); | *Data1Arr.sort(SortFunc); | ||
::… | ::… | ||
− | ::function SortFunc(BeforeElement,AfterElement) = { | + | :://降順ソート |
+ | ::function SortFunc(BeforeElement,AfterElement) = { | ||
:::if(BeforeElement < AfterElement) return 1; | :::if(BeforeElement < AfterElement) return 1; | ||
:::if(BeforeElement > AfterElement) return -1; | :::if(BeforeElement > AfterElement) return -1; | ||
1,001行: | 1,002行: | ||
+ | :://連想配列priceプロパティ基準の降順ソート | ||
*Data1Arr.sort(function(BeforeElement,AfterElement){ | *Data1Arr.sort(function(BeforeElement,AfterElement){ | ||
:::if(BeforeElement.price < AfterElement.price) return 1; | :::if(BeforeElement.price < AfterElement.price) return 1; | ||
1,013行: | 1,015行: | ||
昇順ソートや降順ソートを、ソート関数の引数の中で指定した方が処理速度的にも早くなるし、スマートだとされていますが、いろいろな理由で昇順ソートしてから、それをreverseした方が早いという結果になる場合も発生してくるかもしれません。大きなシステムを作るわけでもない限り、あまり気にしなくてもよいと思いますが、都度、どのようにするのが速度向上につながるのか?そういうことは調べた方が良いかもしれません。 | 昇順ソートや降順ソートを、ソート関数の引数の中で指定した方が処理速度的にも早くなるし、スマートだとされていますが、いろいろな理由で昇順ソートしてから、それをreverseした方が早いという結果になる場合も発生してくるかもしれません。大きなシステムを作るわけでもない限り、あまり気にしなくてもよいと思いますが、都度、どのようにするのが速度向上につながるのか?そういうことは調べた方が良いかもしれません。 | ||
+ | |||
+ | |||
+ | サンプルプログラムは以下のとおりです。 | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="javascript" line start="1"> | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | [[Media:JavaScript Array sort.html|サンプル実行結果]] | ||
[[JAVA Script#リファレンス]]に戻る。 | [[JAVA Script#リファレンス]]に戻る。 |