[Solved] javascript function rules with multiple parameter braces


I had to discern what you’re looking for not only from your question, but also from your comments. It looks like every string begins with 'f', and each empty bracket-pair appends an 'o'. Finally, a non-empty bracket-pair appends its argument.

I actually think this is a cool metaprogramming challenge.

This should work:

let f = (str, depth=0) => str
  ? `f${'o'.repeat(depth)}${str}` // If given param, terminate
  : str => f(str, depth + 1);     // If no param, return func

// "fit"
console.log(f('it'));

// "fox"
console.log(f()('x'));

// "fortress"
console.log(f()('rtress'));

// "football"
console.log(f()()('tball'));

// "foooooool!!!"
console.log(f()()()()()()()('l!!!'));

0

solved javascript function rules with multiple parameter braces