set.reduceRight()
Reduce a set to a single, accumulated value by applying a function to each element. Iterates through elements from right to left. Uses the first element as the initial value.
Description
The reduceRight()
method iterates through each element in a set to perform
a rolling operation. For example, you can use reduceRight()
to calculate a
rolling sum, concatenate elements, or perform complex transformations.
reduceRight()
calls a reducer callback function on every element of the
set from right to left. The reducer function takes two arguments:
-
The accumulator that holds the running result from previous iterations. The last element in the set serves as the initial accumulator.
-
The current element’s value.
The method returns the result of the last iteration. The calling set isn’t changed.
Fold family methods
FQL supports several methods for folds, which iteratively reduce a set to a single value. These methods include:
The methods are similar but have the following differences:
-
set.fold()
andset.foldRight()
accept an initial seed value and use it as the initial accumulator.set.reduce()
andset.reduceRight()
use the set’s first element as the initial accumulator. -
set.fold()
andset.reduce()
iterate through the set’s elements from left to right.set.foldRight()
andset.reduceRight()
iterate through the set’s elements from right to left.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
reducer |
Yes |
Anonymous FQL function to call on each element in the set. |
Examples
Reduce the Set item, right to left:
// `toSet()` converts an array to a set.
let set = [1, 2, 3].toSet()
set.reduceRight((acc, elem) => acc + elem)
6
Is this article helpful?
Tell Fauna how the article can be improved:
Visit Fauna's forums
or email docs@fauna.com
Thank you for your feedback!