我有一个函数返回函数。内部函数在其主体中使用父函数的参数。然后,我列出了通过使用不同参数调用父函数而生成的函数列表。这是一个例子:
function f(a) { return function(b) { return a * a + b; }; }
var fList = [f(-2), f(-1), f(0), f(1), f(2)];
这些来自图书馆,我无法修改它们。
我想知道是否有可能根据父函数参数的值在
fList
上应用过滤器。例如,我可以获取 fList
中的项目,其中使用非负值调用 f
函数吗?我尝试在调试控制台中检查fList[0]
,但不幸的是无法取得任何进展。
我觉得这是不可能的。但是,由于当我调用
fList[0](2)
时,它使用 a
变量的 -2
值,我希望如此。
请不要建议使用反函数,这就是为什么我让它返回搜索参数加上内部参数的平方。上面是一个过于简单的例子,实际情况下的身体有很大不同,并且有一些副作用。
如果您的 fList 按数字顺序排列(如上所示),那么您就知道 fList 之前 0 的结果(即 f(0) = 0 * 0 + 0 = 0)中的每个元素都来自 a负数