«Комбинировать» функции в javascript функционально?

Я изучаю функциональное программирование, и мне интересно, есть ли способ «объединить» функции следующим образом:

function triple(x) {
    return x * 3;
}
function plusOne(x) {
    return x + 1;
}
function isZero(x) {
    return x === 0;
}
combine(1); //1
combine(triple)(triple)(plusOne)(1); // 10
combine(plusOne)(triple)(isZero)(-1); // true

Если para является функцией, он «объединяет» функцию в себя и, если нет, возвращает окончательный результат. Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос