MST

星途 面试题库

面试题:JavaScript 函数方法创新实践之高级难度:函数组合与错误处理

实现一个函数 `compose`,它接受多个函数作为参数,返回一个新的函数。新函数会将传入的参数依次传递给这些函数,即从右到左执行这些函数。例如 `compose(f, g, h)(x)` 相当于 `f(g(h(x)))`。同时,需要在这个过程中处理函数执行可能出现的错误,如果某个函数执行出错,直接返回错误信息,不再执行后续函数。
22.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
function compose(...funcs) {
    return function (arg) {
        return funcs.reduceRight((acc, func) => {
            if (typeof acc === 'error') {
                return acc;
            }
            try {
                return func(acc);
            } catch (error) {
                return error;
            }
        }, arg);
    };
}