UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

20 lines (19 loc) 694 B
export function intersperse(separator, items) { // discuss at: https://locutus.io/haskell/list/intersperse/ // original by: Kevin van Zonneveld (https://kvz.io) // note 1: Inserts separator between elements, like Haskell Data.List.intersperse. // example 1: intersperse(0, [1, 2, 3]) // returns 1: [1, 0, 2, 0, 3] // example 2: intersperse('-', ['a']) // returns 2: ['a'] // example 3: intersperse(',', []) // returns 3: [] if (!Array.isArray(items) || items.length === 0) { return []; } const out = [items[0]]; for (let i = 1; i < items.length; i++) { out.push(separator, items[i]); } return out; }