美文网首页
科里化(难)

科里化(难)

作者: 李永州的FE | 来源:发表于2018-04-06 16:46 被阅读0次

这是我自己写的

 function add(a, b) {
       return a + b;
   }
   // 假设有一个 curry 函数可以做到柯里化
   function curry(fn) {
       return function (a) {
           return function (b) {
               return fn(a, b)
           }
       }
   }
   var addCurry = curry(add);
   console.log(addCurry(1))
   console.log(addCurry(1)(2))
   addCurry(1)(2) // 3

他们是这么写的,这个难点在于一开始的函数参数个数是不确定的,所以只能用arguments来截取这样子

var curry = function (fn) {
    var args = [].slice.call(arguments, 1);
    return function() {
        var newArgs = args.concat([].slice.call(arguments));
        return fn.apply(this, newArgs);
    };
};

相关文章

  • 科里化(难)

    这是我自己写的 他们是这么写的,这个难点在于一开始的函数参数个数是不确定的,所以只能用arguments来截取这样子

  • 柯里化(科里化)Currying

    科里化:必须使用在一元函数中,且函数具有两个或者两个以上的变量。 Currying如何进行的呢?不妨来看一个直观的...

  • 『JavaScript专题』之函数柯里化

    JavaScript专题之函数柯里化 定义 维基百科中对柯里化 (Currying) 的定义为: In mathe...

  • 第一天学haskell

    科里化之后的函数用来写管道处理数据真方便。

  • 函数柯里化与偏函数

    什么是函数柯里化(Currying) 维基百科: 在计算机科学中,柯里化(英語:Currying),又译为卡瑞化或...

  • java8-科里化与设计模式

    科里化 常用于单位转换:科里化是一种将具备2个参数(比如,x和y)的函数f转化为使用一个参数的函数g,并且这个函数...

  • NO.4 js函数科里化

    在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。一个函数例如 //...

  • 赶考

    学车不怕考试难,科一科二只等闲。考前心里腾细浪,考时犹如走泥丸。过了两科心头暖,想到科三胆儿寒。前面还有千里雪,全...

  • 科二科三想稳过?请牢记这六点

    有人觉得科二难,有人觉得科三难,反正不管怎样,唯一的区别在于科二靠心态取胜,科三则考验细节的把握。 科二 1 倒库...

  • 柯里化 - 2023-02-11

    维基百科中对柯里化 (Currying) 的定义为: In mathematics and computer sc...

网友评论

      本文标题:科里化(难)

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