reduceIndexed method

*<Null safety>*

T reduceIndexed (T combine(int index, T previous, T element))

Implementation

T reduceIndexed(T Function(int index, T previous, T element) combine) {
  var iterator = this.iterator;
  if (!iterator.moveNext()) {
    throw StateError('no elements');
  }
  var index = 1;
  var result = iterator.current;
  while (iterator.moveNext()) {
    result = combine(index++, result, iterator.current);
  }
  return result;
}