在javascript中使用数组的高阶函数

时间:2015-11-05 15:26:27

标签: javascript arrays higher-order-functions

我正在尝试在javascript someMathArray(x) { }中创建一个更高阶的函数,它返回一个函数并接受另一个参数。我希望函数采用原始数组,比如[1,2,3,4]然后应用另一个函数,例如名为mult2(a) { return a*2 }(但是,我希望这适用于我传入的任何函数。我不会希望将mult2(a)硬编码到函数中),然后返回包含[2,4,6,8]

的数组

1 个答案:

答案 0 :(得分:1)

这样的东西?

function someMathArray(array) {
  return function(fun) {
    return array.map(fun);
  };
}

var fun = someMathArray([1,2,3,4,5]);
var output = fun(function(a) { return a*2; });
document.getElementById('output').innerHTML = JSON.stringify(output);
<div id="output"></div>

function someMathArray(array) {
  return array.map.bind(array);
}

var fun = someMathArray([1,2,3,4,5]);
var output = fun(function(a) { return a*2; });
document.getElementById('output').innerHTML = JSON.stringify(output);
<div id="output"></div>