Se debe crear la función que se hará cargo de todos los argumentos, y no entiendo qué parte de [1].a(3)
const add = () => { } add(1)(2)[1].a(3) // 1+2+3 = 6 const add = (first) => { return (second) => { return [ undefined, { a: (third) => first + second + third } ]; } } let result = add(1)(2)[1].a(3); console.log(result);:)