您当前的位置: 首页 >  面试

【03】

暂无认证

  • 1浏览

    0关注

    196博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

高阶函数,函数的柯里化面试题

【03】 发布时间:2020-07-17 10:30:12 ,浏览量:1

题目

实现一个add方法,满足以下功能 add(1);//1 add(1)(2);//3 add(1,2);//3 add(1)(2)(3);//6 add(1,2)(3);//6 add(1,2,3);//6 其符合返回方法传入的所有参数的总和 add(a,b,c)(d)(e)(f,g)(h) // result=a+b+c+d+e+f+g+h

答案1(来自b站某老师的视频讲解)
function curring(fn,length) {
    length = length || fn.length
    return function (...args) {
      if (args.length >= length){
        return fn(...args)
      }
      return curring(fn.bind(null,...args),length-args.length)
    }
  }
  function add() {
    var sum = 0
    for (let i = 0; i             
关注
打赏
1657344724
查看更多评论
0.0369s