将参数传递给数组内的anon函数 - 使用console.log返回输出

时间:2014-02-03 21:32:34

标签: javascript arrays map

这是简单的codeschool javascript数学问题。

我需要帮助迭代数组方法 - map()。如何返回(使用console.log)每个数组单元格的结果? 传递的最佳方法是什么,例如,某些数字作为匿名函数的参数(a)。感谢您提供的任何帮助......

var puzzlers = [
    function (a) { return 3 * a - 8;},
    function (a) { return (a+2) * (a+2) * (a+2);},
    function (a) { return (Math.pow(a,2) - 9);},
    function (a) { return a % 4;}
];

3 个答案:

答案 0 :(得分:1)

你可以使用

 array[indexOffunction](parameterToPass)...

这是解决方案:

var puzzlers = [
  function ( a ) { return 8*a - 10; }, 
  function ( a ) { return (a-3) * (a-3) * (a-3); }, 
  function ( a ) { return a * a + 4; },
  function ( a ) { return a % 5; }
];

alert(puzzlers[puzzlers[1](3)](puzzlers[3](9)));

答案 1 :(得分:0)

如何使用自执行功能,如下所示:

var a = 5;
var puzzlers = [ 
    ( function (a) { return 3 * a - 8;} )(a),
    ( function (a) { return (a+2) * (a+2) * (a+2) } )(a),
    ( function (a) { return (Math.pow(a,2) - 9);} )(a),
    ( function (a) { return a % 4;} )(a),
];

console.log(puzzlers);
// OUTPUT:
// [7, 343, 16, 1]

答案 2 :(得分:0)

你可以使用eval做一个foreach:

for ( var puzzle in puzzlers )
{
    var a = puzzlers[puzzle](10);
    console.log( a );
}

foreach将像下一个自动调用的迭代器一样工作 @edit - 你不需要eval;