Как мне построить динамические функции с помощью JavaScript? - PullRequest
0 голосов
/ 27 января 2012

Я путаюсь со всеми этими языками!:)

// given this function
var f = function(a,b) { return a == b; }

// and these values for a
var a = [1,2,3]

// how do I make this array (a is replaced by its value)?
var results = [
   function(b) { return 1 == b; },
   function(b) { return 2 == b; },
   function(b) { return 3 == b; }
]

1 Ответ

2 голосов
/ 27 января 2012
function build(a) {
    return function(b) { return a == b; }
}

var results = [];
var a = [1, 2, 3];

for (var i = 0; i < a.length; i++) {
    results.push(build(a[i]));
}    

Некоторый вывод:

> results[0](1)
true
> results[0](2)
false
> results[1](1)
false
> results[1](2)
true
...