foldIndexed<R> method

R foldIndexed<R>(
  1. R initial,
  2. R operation(
    1. int index,
    2. R acc,
    3. T
    )
)

Accumulates value starting with initial value and applying operation from left to right to current accumulator value and each element with its index in the original collection. @param operation function that takes the index of an element, current accumulator value and the element itself, and calculates the next accumulator value.

Implementation

R foldIndexed<R>(R initial, R Function(int index, R acc, T) operation) {
  var index = 0;
  var accumulator = initial;
  for (final element in iter) {
    accumulator = operation(index++, accumulator, element);
  }
  return accumulator;
}