ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v19.8
collection.sort( )

collection.sort( ) 


 

collection.sort ( {methodName {; extraParam}{; extraParam2 ; ... ; extraParamN}} ) -> 戻り値 
引数   説明
methodName  テキスト in 並べ替え順を指定するのに仕様するメソッドの名前
extraParam  in メソッド用の引数
戻り値  コレクション in 並べ替えされたオリジナルのコレクション

説明   

collection.sort( ) メソッドは元のコレクションの要素を並べ替えをし、新しい、並べ替え済みのコレクションを返します。

注: このメソッドは元のコレクションを編集します。

collection.sort( ) が何の引数もなしに呼び出された場合、スカラー値(数値、テキスト、日付、ブール)のみが並べ替えされます。要素はそれぞれの型に応じて、デフォルトでは昇順で並べ替えされます。

コレクション要素を他の順番で、あるいは要素の型に関係なく並べ替えしたい場合、methodName 引数に、2つの値を比較して最初の値が二つ目の値より低ければ$1.resulttrue を返す比較メソッドの名前を渡す必要があります。必要であればmethodName 引数で指定したメソッドに追加の引数を渡すこともできます。

  • methodName 引数は以下の引数を受け取ります:
    • $1 (オブジェクト):
      • $1.value (任意の型): 比較する最初の要素値
      • $1.value2 (任意の型): 比較する二つ目の要素値
    • $2...$N (任意の型): 追加の引数
  • methodName 引数は以下の引数を設定します:
    • $1.result (ブール): $1.value < $1.value2 の場合にはtrue、それ以外の場合にはfalse

コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えがされます。型は以下の順番で返されます:

  1. null
  2. ブール
  3. 文字列
  4. 数値
  5. オブジェクト
  6. コレクション
  7. 日付

 C_COLLECTION($col)
 $col:=New collection("Tom";5;"Mary";3;"Henry";1;"Jane";4;"Artie";6;"Chip";2)
 $col2:=$col.sort() // $col2=["Artie","Chip","Henry","Jane","Mary","Tom",1,2,3,4,5,6]
  // $col=["Artie","Chip","Henry","Jane","Mary","Tom",1,2,3,4,5,6]

 C_COLLECTION($col)
 $col:=New collection(10;20)
 $col2:=$col.push(5;3;1;4;6;2).sort() //$col2=[1,2,3,4,5,6,10,20]

 C_COLLECTION($col)
 $col:=New collection(33;4;66;1111;222)
 $col2:=$col.sort() //数値での並び替え: [4,33,66,222,1111]
 $col3:=$col.sort("numberOrder") //アルファベット順の並び替え: [1111,222,33,4,66]

  //numberOrder プロジェクトメソッド
 C_OBJECT($1)
 $1.result:=String($1.value)<String($1.value2)



参照 

collection.orderBy( )
collection.orderByMethod( )

 
プロパティ 

プロダクト: 4D
テーマ: コレクション
番号: 805259

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v16 R6

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)