メインコンテンツまでスキップ
バージョン: 20 R7 BETA

ARRAY TO COLLECTION

ARRAY TO COLLECTION ( collection ; array {; propertyName}{; array2 ; propertyName2 ; ... ; arrayN ; propertyNameN} )

引数説明
collectionCollection配列のデータを受け取るコレクション
arrayArrayコレクションにコピーする配列。propertyName引数指定時はコレクションのpropertyNameの値にコピーする配列。
propertyNameText配列の要素を値として格納するオブジェクトのプロパティ名

説明

ARRAY TO COLLECTION コマンドはarray 引数で指定した一つあるいはそれ以上の配列を、collection 引数で指定したコレクションの要素、あるいはpropertyName 引数で指定したプロパティの値にコピーします*。*

このコマンドは値を格納しているcollection に対して使用することもできますし、オブジェクトを格納しているcollection に対して使用することもできます。後者の場合にはpropertyName 引数は必須になります。

  • 引数を省略した場合、コマンドは全てのarray の要素をcollection へとコピーします。collection が空でない場合、既存の要素は置き換えられ、array のサイズがcollection のlength より大きい場合には新しい要素が追加されます。コマンド実行後、collection のlength はarray のサイズと同一になります。
  • 一つあるいはそれ以上のpropertyName 引数を渡す場合、コマンドはオブジェクトをcollection の要素として作成あるいは上書きします。それぞれのオブジェクトには引数で名前を指定したプロパティと、対応する配列の要素が値として格納されます。collection が空でない場合、既存の要素は置き換えられ、array のサイズがcollection のlength より大きい場合には新しい要素が追加されます。コマンド実行後、collection のlength はarray うち最大の配列のサイズと同一になります。

例題 1

テキスト配列をコレクションへとコピーしたい場合を考えます:

 var $colFruits : Collection
 $colFruits:=New collection
 ARRAY TEXT($artFruits;4)
 $artFruits{1}:="Orange"
 $artFruits{2}:="Banana"
 $artFruits{3}:="Apple"
 $artFruits{4}:="Grape"
 ARRAY TO COLLECTION($colFruits;$artFruits)
  //$colFruits[0]="Orange"
  //$colFruits[1]="Banana"
  //...

例題 2

フィールドの値を、配列を通してオブジェクトのコレクションへとコピーしたい場合を考えます:

 var $col : Collection
 $col:=New collection
 ARRAY TEXT($artCity;0)
 ARRAY LONGINT($arLZipCode;0)
 SELECTION TO ARRAY([Customer]City;$artCity)
 SELECTION TO ARRAY([Customer]Zipcode;$arLZipCode)
 ARRAY TO COLLECTION($col;$artCity;"cityName";$arLZipCode;"Zip")
  //$col[0]={"cityName":"Cleveland","Zip":35049}
  //$col[1]={"cityName":"Blountsville","Zip":35031}
  //...

例題 3

テキスト配列を共有コレクションへとコピーしたい場合を考えます:

 ARRAY TEXT($at;1)
 
 APPEND TO ARRAY($at;"Apple")
 APPEND TO ARRAY($at;"Orange")
 APPEND TO ARRAY($at;"Grape")
 
 var $sharedCol : Collection
 $sharedCol:=New shared collection
 
 Use($sharedCol)
    ARRAY TO COLLECTION($sharedCol;$at)
 End use

参照

COLLECTION TO ARRAY
コレクションと4D配列間での型の変換

プロパティ

コマンド番号1563
スレッドセーフである