UNPKG

locutus

Version:

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

26 lines (25 loc) 837 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.interpose = interpose; function interpose(separator, values) { // discuss at: https://locutus.io/clojure/interpose/ // parity verified: Clojure 1.12 // original by: Kevin van Zonneveld (https://kvz.io) // example 1: interpose('-', ['a', 'b', 'c']) // returns 1: ['a', '-', 'b', '-', 'c'] // example 2: interpose(0, [1, 2, 3]) // returns 2: [1, 0, 2, 0, 3] // example 3: interpose(',', []) // returns 3: [] if (!Array.isArray(values) || values.length === 0) { return []; } const out = []; for (let i = 0; i < values.length; i++) { if (i > 0) { out.push(separator); } out.push(values[i]); } return out; }