基本的函數柯里化curry方法

function curry(fn) {
  var args = Array.prototype.slice.call(arguments, 1)
  return function() {
    var innerArgs = Array.prototype.slice.call(arguments)
    var finalArgs = args.concat(innerArgs)
    return fn.apply(null, finalArgs)
  }
}

var abc = function(a, b, c) {
  return [a, b, c]
}

var curried = curry(abc, 1)

curried(2, 3)
// => [1, 2, 3]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章