Intersperse element between elements

Insert a separator between every pair of items.

JavaScript Version 1.0.0 · MIT · .md

intersperse-element-between-elements.js
function intersperse({ values, separator }) { return values.flatMap((value, i) => (i === 0 ? [value] : [separator, value])); }

Input & expected output

Input

{
  "values": [
    "ana",
    "rui",
    "lia"
  ],
  "separator": ","
}

Expected output

[
  "ana",
  ",",
  "rui",
  ",",
  "lia"
]

The edge case

Input

{
  "values": [],
  "separator": ","
}

Expected output

[]

Know the limits

  • The original built Array(2n − 1), which throws for an empty array; flatMap returns [].

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Intersperse element between elements from the original 1loc collection by Nguyen Huu Phuoc, with iamandrewluca. Copyright (c) 2020 phuoc-ng. MIT licensed.

Uses flatMap; the original threw for an empty array. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.