美文网首页jQuery源码笔记.jpg
函数式编程之curry化

函数式编程之curry化

作者: 柠檬果然酸 | 来源:发表于2020-04-15 22:38 被阅读0次

函数式编程之curry化
其目的是将function(arg1, arg2, arg3, ...)多参数转为function(arg1)(arg2)(arg3)...单参数形式

es5版

function curry(fn) {
    var args = [],
        n = fn.length; // 传入的函数的参数个数
    return function core() {
        var arg = [].slice.call(arguments); // 将函数参数转为数组
        args = args.concat(arg);
        n -= arg.length;
        return n === 0 ? fn.apply(null, args) : core;
    }
}

使用如下

var add = curry(function (a, b, c, d) {
    return a + b + c + d;
});
console.log(add(1, 2)(2)(3));

相关文章

  • 函数式编程之curry化

    函数式编程之curry化其目的是将function(arg1, arg2, arg3, ...)多参数转为func...

  • 详解 groovy 的闭包(下)

    函数式编程 curry 化 最开始接触这个概念时候我是在 javascript 函数式编程这本书中接触到的。首先给...

  • 函数式编程(三)—— 柯里化

    柯里化Lodash中的柯里化 —— curry()案例柯里化原理模拟柯里化总结 【函数式编程总体设计】 之前讲了函...

  • 函数curry化

    前言 最近的某次面试被问到了两次相关的问题,但是自己居然都没答好,尤其第二次,先来看看面试官给的题目是什么样子的:...

  • [译]JavaScript中的函数柯里化

    原文 Currying in JS 函数柯里化 函数柯里化以Haskell Brooks Curry命名,柯里化是...

  • 函数柯里化

    快速实现纯函数化的工具--柯里化(curry) 1、什么是 Curry: 只传递函数的一部分参数来调用它,让它返回...

  • Javasript函数Curry化

    在一些纯粹的函数是编程语言中。函数并不描述为被调用(called或invoked),而是描述为应用(applied...

  • 函数式编程

    1 文章目标 为什么要学习函数式编程以及什么是函数式编程 函数式编程的特性(纯函数、柯里化、函数组合等) 函数式编...

  • JS函数式编程之柯里化

    JS函数式编程之柯里化 为什么要了解柯里化 柯里化是函数式编程必须要使用的. 这里我们就先介绍下什么是柯里化, 然...

  • 函数式编程小思考4.2 笔记

    函数式编程小思考4 笔记JS函数式编程指南Data.Task 函子 源码 补充两个内容 用得到的curry函数 文...

网友评论

    本文标题:函数式编程之curry化

    本文链接:https://www.haomeiwen.com/subject/gbnvlhtx.html