Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
collection.find( )

collection.find( ) 


 

collection.find ( {StartAb ;} MethodenName {; param {; param2 ; ... ; paramN}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
StartAb  Lange Ganzzahl in Index zum Starten der Suche
MethodenName  Text in Name der Methode zum Aufrufen des Suchergebnis
param  Ausdruck in Parameter zum Übergeben an MethodenName
Funktionsergebnis  in Erster gefundener Wert, oder Undefined wenn nicht gefunden

Die Funktion collection.find( ) gibt den ersten Wert in der Collection zurück, für den der auf jedes Element angewandte MethodenName wahr zurückgibt.

Hinweis: Diese Funktion ändert nicht die ursprüngliche Collection.

collection.find( ) sucht standardmäßig in der gesamten Collection. Optional können Sie in StartAb den Index des Elements übergeben, bei dem die Suche starten soll.

  • Ist StartAb >= Länge der Collection, wird -1 zurückgegeben, d.h. die Collection wird nicht durchsucht.
  • Ist StartAb < 0, wird es als Versatz vom Ende der Collection gewertet (StartAb:=StartAb+Länge).
    Hinweis: Auch wenn StartAb negativ ist, wird die Collection weiterhin von links nach rechts durchsucht.
  • Ist StartAb = 0, wird die gesamte Collection durchsucht (Standard).

In MethodenName übergeben Sie den Namen der Methode zum Bewerten der Collection Elemente, zusammen mit den Parametern in param (optional). MethodenName kann den Suchlauf mit oder ohne die Parameter durchführen. Diese Methode empfängt einen Parameter Object in $1 und muss $1.result für das erste zutreffende Element auf wahr setzen.

MethodenName empfängt folgende Parameter:

  • in $1.value: Elementwert zum Bewerten
  • in $2: param
  • in $N...: param2...paramN

MethodenName setzt folgende Parameter:

  • $1.result (boolean): wahr, wenn der Elementwert zur Suchbedingung passt.
  • $1.stop (boolean, optional): wahr, um Aufruf der Methode zu stoppen. Der zurückgegebene Wert ist der letzte bewertete Wert.

Das erste Element mit einer Länge kleiner als 5 erhalten:

 C_COLLECTION($col)
 $col:=New collection("hello";"world";4;"red horse";"tim";"san jose")
 $value:=$col.find("LengthLessThan";5) //$value="tim"

Der Code der Methode LengthLessThan lautet:

 C_OBJECT($1)
 C_LONGINT($2)
 If(Value type($1.value)=Is text)
    $1.result:=(Length($1.value))<$2
 End if

Einen Stadtnamen in der Collection finden:

 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}

Der Code der Methode FindCity lautet:

 C_OBJECT($1)
 C_TEXT($2)
 $1.result:=$1.value.name=$2 // name ist Eigenschaftsname der Objekte in der Collection



Siehe auch 

collection.findIndex( )

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Collections
Nummer: 805258

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16 R6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)