@prolina

Сумма произвольного количества скобок?

const sum = (numberOne) => {
    const func = (numberTwo) => {
        if (typeof numberTwo === "undefined"){
            return  numberOne;
        }
        return sum (numberOne + numberTwo);
    };
    // func.toString = function () {
    //     return numberOne;
    // };
    return func;
};


Как обойтись в данном случае без toString?
Без него в консоли
(numberTwo) => {
        if (typeof numberTwo === "undefined"){
            return  numberOne;
        }
        return sum (numberOne + numberTwo);
    }

Должен работать следующий вывод
console.log(sum(1)(2)(3)(4)());
const a = sum(4)(3);
console.log(a);
const b = a(1)(2)(5);
console.log(b);
const c = b(); //15
console.log(c)
;
При добавлении после пустых скобок еще скобки должна быть ошибка
  • Вопрос задан
  • 1525 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
const sum = a0 => a1 => Number.isFinite(a1) ? sum(a0 + a1) : a0;

// Tests
console.log(sum(1)(2)(3)(4)()); // 10
const a = sum(4)(3);  
console.log(a); // function
const b = a(1)(2)(5); 
console.log(b); // function
const c = b();
console.log(c); // 15
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
pterodaktil
@pterodaktil
js developer
const sum = (numberOne) => {
    const func = (numberTwo) => {
        if (typeof numberTwo === "undefined"){
            return  numberOne;
        }
        return sum (numberOne + numberTwo);
    };
    func.valueOf = function () {
      return numberOne;
    };
    return func;
};
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы