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:
- in $1.value: Elementwert zum Bearbeiten
- in $2: param
- in $N...: param2...paramN
MethodenName setzt folgende Parameter:
- $1.accumulator: Wert, der durch die Funktion geändert werden soll und durch initWert initialisiert wird.
- $1.stop (boolean, optional): wahr, um Aufruf der Methode zu stoppen. Der zurückgegebene Wert ist der letzte bewertete Wert.
Der Code für die Methode Multiply lautet:
Mehrere Collection Elemente auf ein einziges Element reduzieren:
Der Code für die Methode Flatten lautet:
If($1.accumulator=Null)
$1.accumulator:=New collection
End if
$1.accumulator.combine($1.value)