This is continuation of this question but for ARRAYS. Suppose I want to call array function with 2 parameters e.g.
console.log(
[3,4,5].slice(1,2)
)
In first step I reduce characters set to jsfuck convention where we have 6 available characters: []()!+
(and for clarity: with a-z A-Z letters surrounded by "
(JS strings) and numbers - which are easy to convert to those 6 chars):
console.log(
[3,4,5]["slice"](1,2)
)
The problem here was comma (forbidden character) but we can overcome this problem by use following clever technique discovered by trincot:
console.log(
[1]["concat"](2)["reduce"]([]["slice"]["bind"]([3,4,5]))
)
But the new question arise:
It is possible to call sequence of functions with 2 (or more) parameters without nesting them (which is imposed by above technique) but in "flow" way where we call next function in right side eg.: [3,4,5].slice(1,2).concat(6)..
(without using 'eval' like solution where string is interpreted as code) ? (for function with one parameter it is possible e.g.: [3,4,5].slice(1).concat(6)
)