这是简单的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;}
];
答案 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;