@montecazazza
Node, GraphQL, React

Как решить задачку?

Други программисты, давеча попалась мне на интервью задачка
написать функцию sum, так чтобы
sum(1)(2) === 3
Тут сложностей не возникло. Но был задан следующий вопрос:
Как написать ее для произвольного количества вызовов?
то есть
sum(1)(2) === 3
sum(1)(2)(3) === 6
sum(1)(2)(3)(4) === 10
Ну и так далее
И вот тут я что-то приуныл
const sum = (x, summ = x) => {
  // Если еще есть вызовы то 
  return x => sum(x, summ + x);
  // Если больше нет вызовов то
  // return sum
}


Помогите, прошу. Спать не могу!!!
  • Вопрос задан
  • 264 просмотра
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
можно без хранения суммы в переменной, хотя принцип тот же:
function sum(x) {
  function s(n){
    return sum(x + n);
  }
  s.toString = s.valueOf = function(){ return x }
  return s;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы