Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JS:柯里化 #50

Open
HCLacids opened this issue Feb 28, 2022 · 0 comments
Open

JS:柯里化 #50

HCLacids opened this issue Feb 28, 2022 · 0 comments
Labels

Comments

@HCLacids
Copy link
Owner

 function curry(fun) {
    return function curriedFn(...args) {
        // 判断实参和形参的个数
        // 实参 < 形参 那么就返回一个新的函数,接收剩余的参数值
        if(args.length < fun.length){
            return function() {
                // arguments 是伪数组,所以需要使用 Array.from
                return curriedFn(...args.concat(Array.from(arguments)))
            }
        }
        // 实参 >= 形参 那么就直接调用fun,返回执行结果
        return fun(...args)
    }
}
@HCLacids HCLacids added the JS label Feb 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant