intersperse method

Iterable<T> intersperse(
  1. T separator
)

Returns an iterable with separator inserted between each pair of consecutive elements.

[1, 2, 3].intersperse(0);  // [1, 0, 2, 0, 3]
[].intersperse(0);         // []
[5].intersperse(0);        // [5]

Implementation

Iterable<T> intersperse(T separator) sync* {
  final iterator = this.iterator;
  if (!iterator.moveNext()) return;
  yield iterator.current;
  while (iterator.moveNext()) {
    yield separator;
    yield iterator.current;
  }
}