Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向控制台返回函数-无日志记录_Javascript_Functional Programming_Higher Order Functions - Fatal编程技术网

Javascript 向控制台返回函数-无日志记录

Javascript 向控制台返回函数-无日志记录,javascript,functional-programming,higher-order-functions,Javascript,Functional Programming,Higher Order Functions,我很难看出我在编写这个“transformArray”函数时哪里出错了。我试图让它接受一个函数作为参数,将它应用于某个数组的每个元素。为什么它不归还任何东西 var array1 = [1,2,3,4,5]; function transformArray (aFunction) { return function (array) { return array.forEach(aFunction); }; } var halve = transformArray(

我很难看出我在编写这个“transformArray”函数时哪里出错了。我试图让它接受一个函数作为参数,将它应用于某个数组的每个元素。为什么它不归还任何东西

var array1 = [1,2,3,4,5];
function transformArray (aFunction) {
    return function (array) {
        return array.forEach(aFunction);
    };
}
var halve = transformArray(function (num) {return num/2;});
console.log(halve(array1));

这是因为
Array.forEach
是一个迭代器。它总是返回未定义的

forEach()
对每个数组元素执行一次回调函数; 与
every()
some()
不同,总是返回未定义的值

您需要的是
Array.map

map()
方法使用调用 在此数组中的每个元素上提供函数


(强调我的)

谢谢!它现在工作得很好。我忘了foreach不回来了anything@JessicaO“布莱恩很高兴能帮上忙:)
function transformArray (aFunction) {
    return function(array) {
        return array.map(aFunction);
    };
}