JS 中的 compose 函数 绘图分析函数执行过程

    技术2026-03-20  5

    在函数式编程中,经常会出现多个函数组合,像这样:

    const add1 = (x) => x + 1 const mul3 = (x) => x * 3 const div2 = (x) => x / 2 add1(mul3(div2(add1(6)))) // 11.5

    这样虽然能够完成计算,但是可读性很差,所以我们需要构造一个函数完成上面的功能:

    function compose(...funcs) { if (funcs.length === 0) { return arg => arg } if (funcs.length === 1) { return funcs[0] } return funcs.reduce((a, b) => (...args) => a(b(...args))) } compose(add1, mul3, div2, add1)(6); // 11.5

    Processed: 0.010, SQL: 10