函数柯里化js

函数柯里化
function setSumMark (length) {
  let arr1 = []
  function myCurrying (...argus) {
    arr1.push(...argus)
    if (arr1.length === length) {
      let res = arr1.slice(0, length).reduce((p, v) => p + v, 0)
      console.log(res)
      // 闭包 引用关系
      arr1 = []
      return res
    } else {
      return myCurrying
    }
  }
  return myCurrying
}
let res = setSumMark(3)
res(1, 34,)(2)
posted @ 2023-10-20 16:33  jialiangzai  阅读(60)  评论(0)    收藏  举报