Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.filter( )
|
collection.filter ( MethodenName {; param}{; param2 ; ... ; paramN} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
MethodenName | Text |
![]() |
Name der Methode zum Filtern der Collection |
|||||
param | Ausdruck |
![]() |
Parameter für die Methode | |||||
Funktionsergebnis | Collection |
![]() |
Neue Collection mit gefilterten Elementen (flache Kopie) | |||||
Die Funktion collection.filter( ) gibt eine neue Collection mit den Elementen der ursprünglichen Collection zurück, für die das Ergebnis von MethodenName wahr ist. Diese Funktion gibt eine flache Kopie zurück, d.h. Objekte oder Collections in beiden Collections nutzen dieselbe Referenz. Ist die ursprüngliche Collection eine shared collection, ist die zurückgegebene Collection ebenfalls eine shared collection.
Hinweis: Diese Funktion ändert nicht die ursprüngliche Collection.
In MethodenName übergeben Sie den Namen der Methode zum Bewerten der Collection Elemente, zusammen mit den Parametern in param (optional). MethodenName kann das Filtern mit oder ohne Parameter durchführen und muss in $1.result wahr für jedes zutreffende Element zurückgeben und so in die neue Collection setzen.
MethodenName empfängt folgende Parameter:
MethodenName setzt folgende Parameter:
Die Collection von Textelementen mit einer Länge kleiner als 6 erhalten:
C_COLLECTION($col)
C_COLLECTION($colNew)
$col:=New collection("hello";"world";"red horse";66;"tim";"san jose";"miami")
$colNew:=$col.filter("LengthLessThan";6)
//$colNew=["hello","world","tim","miami"]
Der Code für die Methode LengthLessThan lautet:
C_OBJECT($1)
C_LONGINT($2)
If(Value type($1.value)=Is text)
$1.result:=(Length($1.value))<$2
End if
Elemente nach ihrem Wertetyp filtern:
C_COLLECTION($c)
$c:=New collection(5;3;1;4;6;2)
$c.push(New object("name";"Cleveland";"zc";35049))
$c.push(New object("name";"Blountsville";"zc";35031))
$c2:=$c.filter("TypeLookUp";Is real) // $c2=[5,3,1,4,6,2]
$c3:=$c.filter("TypeLookUp";Is object)
// $c3=[{name:Cleveland,zc:35049},{name:Blountsville,zc:35031}]
Der Code für die Methode TypeLookUp lautet:
C_OBJECT($1)
C_LONGINT($2)
If(OB Get type($1;"value")=$2)
$1.result:=True
End if
Produkt: 4D
Thema: Collections
Nummer:
705249
Erstellt: 4D v16 R6
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)