Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.reduce( )
|
collection.reduce ( MethodenName {; InitWert}{; param}{; param2 ; ... ; paramN} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
MethodenName | Text |
![]() |
Name der Methode zum Bearbeiten von Collection Elementen |
|||||
InitWert | Text, Zahl, Objekt, Collection, Datum, Boolean |
![]() |
Wert zum Verwenden als erstes Argument für den ersten Aufruf von MethodenName | |||||
param | Ausdruck |
![]() |
Parameter für MethodenName | |||||
Funktionsergebnis | Text, Zahl, Objekt, Collection, Datum, Boolean |
![]() |
Ergebnis des Akkumulatorwerts | |||||
Die Funktion collection.reduce( ) wendet die Callback Funktion MethodenName auf einen Akkumulator und jedes Element in der Collection an (von links nach rechts), um ihn auf einen einzigen Wert zu reduzieren.
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 nimmt jedes Collection Element und führt jede gewünschte Operation durch, um das Ergebnis in $1.accumulator zu akkumulieren, das in $1.value zurückgegeben wird.
In initWert können Sie den Wert zum Initialisieren des Akkumulators übergeben. Ohne diesen Parameter startet $1.accumulator mit Undefiniert.
MethodenName empfängt folgende Parameter:
MethodenName setzt folgende Parameter:
C_COLLECTION($c)
$c:=New collection(5;3;5;1;3;4;4;6;2;2)
$r:=$c.reduce("Multiply";1) //gibt 86400 zurück
Der Code für die Methode Multiply lautet:
If(Value type($1.value)=Is real)
$1.accumulator:=$1.accumulator*$1.value
End if
Mehrere Collection Elemente auf ein einziges Element reduzieren:
C_COLLECTION($c;$r)
$c:=New collection
$c.push(New collection(0;1))
$c.push(New collection(2;3))
$c.push(New collection(4;5))
$c.push(New collection(6;7))
$r:=$c.reduce("Flatten") //$r=[0,1,2,3,4,5,6,7]
Der Code für die Methode Flatten lautet:
If($1.accumulator=Null)
$1.accumulator:=New collection
End if
$1.accumulator.combine($1.value)
Produkt: 4D
Thema: Collections
Nummer:
705248
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)