返回函数题解
返回函数
http://www.nowcoder.com/questionTerminal/1f9fd23cdfd14675ab10207191e1d035
本题主要考察函数柯里化,实际上是要求将一个字符串拼接函数进行柯里化。
function functionFunction(str) {
// 字符串拼接函数
function strAdd() {
return Array.prototype.join.call(arguments, ', ')
}
// 柯里化工具函数,argLength为目标函数的参数的长度
function curry(fn, argLength) {
return function curried(...args) {
if (args.length >= argLength) {
return fn.apply(this, args)
} else {
return function(...args2) {
return curried.apply(this, args.concat(args2))
}
}
}
}
// 将字符串函数柯里化,目标参数长度为2(也可以是其他长度)
// 并进行初次调用
return curry(strAdd, 2)(str)
}更多JS相关问题,可以看看Tim的资源站
基恩士成长空间 440人发布