Selectively replace multiple instances of a character within a string: Difference between revisions

Content added Content deleted
Line 273: Line 273:
const ds = a[c];
const ds = a[c];


return 0 < ds.length ? [
return Boolean(ds.length) ? [
Object.assign(a, {[c]: ds.slice(1)}),
Object.assign(a, {[c]: ds.slice(1)}),
ds[0] || c
ds[0] || c
] : [a, c];
] : [a, c];
})() : [a, c]
})() : [a, c]
)(ruleMap)([...s])[1].join("");
)(Object.assign({}, ruleMap))(
[...s]
)[1].join("");




// ---------------------- TEST -----------------------
// ---------------------- TEST -----------------------
const main = () =>
const main = () =>
// Instance-specific character replacement rules.
// Instance-specific character replacement rules.
nthInstanceReplaced({
nthInstanceReplaced({
a: ["A", "B", null, "C", "D"],
a: ["A", "B", null, "C", "D"],