Filter
Filter( arrayOrSet, lambda )
Filter( arrayOrSet, lambda )
Filter( arrayOrSet, lambda )
Filter( arrayOrSet, lambda )
filter_( lambda, array_or_set )
Filter( arrayOrSet, lambda )
Description
The Filter
function applies the
lambda
function to each member of
arrayOrSet
, which is an Array,
Page, or Set. The
return value matches the arrayOrSet
type, and contains only those
elements for which the lambda
function returns true
.
Providing a lambda
function which does not return a
Boolean results in an "invalid argument"
error. If a Page is passed, its decorated fields are preserved in the
result.
The run time of To work around this, you may specify a larger query timeout via the driver that you are using. |
Examples
The query below iterates over the array containing the values 1, 2,
3, executing the lambda function for each value. The lambda function
returns true
if the Modulo 2 of the
value is 0, otherwise it returns false
.
client.Query(
Filter(Arr(1, 2, 3), i => EqualsFn(0, Modulo(i, 2)))
);
Arr(LongV(2))
result, err := client.Query(
f.Filter(
f.Arr{1, 2, 3},
f.Lambda("i", f.Equals(0, f.Modulo(f.Var("i"), 2)))))
if err != nil {
fmt.Fprintln(os.Stderr, err)
} else {
fmt.Println(result)
}
[2]
System.out.println(
client.query(
Filter(
Arr(Value(1), Value(2), Value(3)),
Lambda(
Value("i"),
Equals(Value(0), Modulo(Var("i"), Value(2)))
)
)
).get());
[2]
client.query(
q.Filter(
[1, 2, 3],
q.Lambda(
'i',
q.Equals(0, q.Modulo(q.Var('i'), 2)),
),
)
)
.then((ret) => console.log(ret))
.catch((err) => console.error('Error: %s', err))
[ 2 ]
result = client.query(
q.filter_(
lambda i: q.equals(0, q.modulo(i, 2)),
[1, 2, 3]
)
)
print(result)
[ 2 ]
client.query(
Filter(Arr(1, 2, 3), Lambda { i => Equals(0, Modulo(i, 2)) }))
[2]
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!