Hyperlinkv0.8.0-beta.28

Array

Array.reduceRightconsteffect/Array.ts:3927
<B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Iterable<A>) => B
<A, B>(self: Iterable<A>, b: B, f: (b: B, a: A, i: number) => B): B

Folds an iterable from right to left into a single value.

When to use

Use when you need to fold values from right to left.

Details

The function receives (accumulator, element, index).

Example (Folding from right to left)

import { Array } from "effect"

console.log(Array.reduceRight([1, 2, 3], 0, (acc, n) => acc + n)) // 6
Source effect/Array.ts:39278 lines
export const reduceRight: {
  <B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Iterable<A>) => B
  <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A, i: number) => B): B
} = dual(
  3,
  <A, B>(self: Iterable<A>, b: B, f: (b: B, a: A, i: number) => B): B =>
    fromIterable(self).reduceRight((b, a, i) => f(b, a, i), b)
)
Referenced by 1 symbols