Check out v4 of the Fauna CLI

v4 of the Fauna CLI is now in beta.

The new version introduces enhancements to the developer experience, including an improved authentication workflow. To get started, check out the CLI v4 quick start.

array.foldRight()

This method operates on an array. You typically fetch documents from a collection as a set, not an Array. For the equivalent Set method, see set instance methods.

For differences between Sets and Arrays, see Sets vs. Arrays.

Reduce an Array to a single, accumulated value by applying a provided function to each element. Iterates through elements from right to left. Uses a provided seed as the initial value.

Signature

foldRight(seed: B, reducer: (B, A) => B) => B

Description

Iterates through each element in an Array to perform a rolling operation. For example, you can use foldRight() to calculate a rolling sum, concatenate elements, or perform complex transformations.

foldRight() calls a reducer callback function on every element of the Array from right to left. The reducer function takes two arguments:

  • The accumulator that holds the running result from previous iterations. For the first iteration, a seed value serves as the initial accumulator.

  • The current element’s value from the Array.

The method returns the result of the last iteration. The calling Array isn’t changed.

Fold family methods

FQL supports several methods for folds, which iteratively reduce an Array to a single value. These methods include:

The methods are similar but have the following differences:

Parameters

Parameter Type Required Description

seed

Generic

Yes

Initial accumulator value provided to the reducer function.

reducer

Function

Yes

Anonymous FQL function to call on each element of the Array.

Reducer function arguments:

Parameter Type Required Description

accumulator

Generic

Yes

Value returned by the previous reducer function call. On the first call, seed is passed as the accumulator.

current

Generic

Yes

The current element’s value.

Return value

Type Description

Generic

Result of the last reducer function call. For an empty Array, the seed is returned.

Examples

let iter = [1, 2, 3]
iter.foldRight(100, (value, elem) => value + elem)
106

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!