首页 > 其他 > 详细

柯里化函数

时间:2020-08-04 15:03:05      阅读:98      评论:0      收藏:0      [点我收藏+]

来自百度百科:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。

可能上面的话比较抽象,但是用代码实现去理解是很明了的↓↓↓

<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
    <body>
        <script type="text/javascript">
            function currey(fn){
                var arr=[];
                return function(){
                    if(arguments.length>0){
                        arr=arr.concat([].slice.call(arguments));
                        return arguments.callee;
                    }else {
                        return fn(arr)
                }
            };
            }
            function getSum(arr){
                var sum= arr.reduce((value,item)=>{
                    return value+item
                })
                return sum
            }
            function getProduct(arr){
                var sum=arr.reduce((value,item)=>{
                    return value * item
                })
                return sum
            }
            var sum=currey(getProduct);
            sum(1,2);
            // sum(2,3,4);
            sum(1,2)(3)
            var s=sum();
            console.log(s);
        </script>
    </body>
</html>

 

柯里化函数

原文:https://www.cnblogs.com/shewill/p/13432893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!