locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
26 lines (25 loc) • 837 B
JavaScript
;
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;
}