我在代码大战中解决了这个问题一段时间,并使用 repl.it 对其进行了测试。这是一个简单的一元函数链接器,但它只适用于 repl.it,而 codewars 在给出以下代码时会给我一个 TypeError:
function chained(functions) {
var funcs = Array.prototype.slice.call(arguments);
return function (value){
var finalValue = funcs.reduce(function(prevVal, currFunc){
return currFunc(prevVal);
}, value);
return finalValue;
}
}
它告诉我 currFunc 不是一个函数,但是使用以下测试代码,我在 repl.it 中运行时得到了正确的答案:
function f1(x){ return x*2 }
function f2(x){ return x+2 }
function f3(x){ return Math.pow(x,2) }
console.log(chained(f1,f2,f3)(0));
为什么它不是代码战中的功能有什么原因吗?