intersperse<T> function

List<T> intersperse<T>(
  1. List<T> arr,
  2. T item
)

(arr: 1, 3, 4, item: 0) yields: 1, 0, 3, 0, 4

Implementation

List<T> intersperse<T>(List<T> arr, T item) {
  return arr.foldIndexed(<T>[], (int index, List<T> pv, T v) {
    pv.add(v);
    if (index < arr.length - 1) {
      pv.add(item);
    }
    return pv;
  });
}