foldIndexed<U> method

  1. @useResult
U foldIndexed<U>(
  1. U initial,
  2. U f(
    1. U previous,
    2. int index,
    3. T element
    )
)

Fold with index: (prev, index, element) -> next.

Implementation

@useResult
U foldIndexed<U>(U initial, U Function(U previous, int index, T element) f) {
  U value = initial;
  int i = 0;
  for (final T element in this) {
    value = f(value, i++, element);
  }
  return value;
}