Sobes.tech
Back to tasks
Junior — Senior
25

Каскадный сумматор через цепочку вызовов

Get help with live coding in real time with Sobes Copilot
Task condition

Необходимо реализовать функцию‑сумматор, которая позволяет последовательно передавать числа через цепочку вызовов. Каждый вызов принимает одно значение и возвращает функцию, готовую принять следующее. Когда вызов делается без аргумента, функция выводит накопленную сумму в консоль.

Пример работы:

// Пример сумматора:
f(a)(b)(c)(d)   // -> a + b + c + d
f(a)(b)         // -> a + b
f(a)(b)()       // -> console.log(a + b)
f(a)(b)(c)(d)   // -> a + b + c + d

f(a)(b)(c)(d)

function f(x) {
  return (y) => 
    y ? f(x + y) : console.log(x);
}