ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.find( )
|
collection.find ( {startFrom ;} methodName {; param {; param2 ; ... ; paramN}} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
startFrom | 倍長整数 |
![]() |
検索を開始するインデックス | |||||
methodName | テキスト |
![]() |
検索のために呼び出すメソッドの名前 | |||||
param | 式 |
![]() |
methodNameに渡す引数 | |||||
戻り値 |
![]() |
最初に見つかった値、あるいは見つからなかった場合にはUndefined | ||||||
collection.find( ) メソッドは、methodName 引数を各要素に適用して、true を返すコレクション内の最初の値を返します。
注: このメソッドは元のコレクションは変更しません。
デフォルトでは、collection.find( ) はコレクション全体を検索します。オプションとして、startFrom 引数に検索を開始する要素のインデックスを渡すこともできます。
methodName 引数には、コレクションの要素を評価するのに使用するメソッドの名前を渡します。必要であればparam 引数(任意)に引数を渡します。methodName 引数で指定したメソッドはどのようなテストでも実行でき、引数を使用してもしなくても構いません。メソッドは$1 にObject 引数を引き受け、条件を満たす最初の要素の$1.result をtrue に設定しなければなりません。
methodName 引数は以下の引数を受け取ります:
methodName 引数は以下の引数を設定します:
lengthが5未満の最初の要素を取得したい場合を考えます:
C_COLLECTION($col)
$col:=New collection("hello";"world";4;"red horse";"tim";"san jose")
$value:=$col.find("LengthLessThan";5) //$value="tim"
LengthLessThan メソッドのコードは以下のようになります:
C_OBJECT($1)
C_LONGINT($2)
If(Value type($1.value)=Is text)
$1.result:=(Length($1.value))<$2
End if
コレクション内で都市名を検索したい場合を考えます:
C_COLLECTION($c)
$c:=New collection
$c.push(New object("name";"Cleveland";"zc";35049))
$c.push(New object("name";"Blountsville";"zc";35031))
$c.push(New object("name";"Adger";"zc";35006))
$c.push(New object("name";"Clanton";"zc";35046))
$c.push(New object("name";"Clanton";"zc";35045))
$c2:=$c.find("FindCity";"Clanton") //$c2={name:Clanton,zc:35046}
FindCity メソッドのコードは以下のようになります:
C_OBJECT($1)
C_TEXT($2)
$1.result:=$1.value.name=$2
プロダクト: 4D
テーマ: コレクション
番号:
805258
初出: 4D v16 R6
ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)