5 ms·
Using a closure: function foo(s) { function generator(i) { return function () { return i; }; } var r = new Array(s);
by b3tta 12y ago
Using a closure:
function foo(s) {
function generator(i) {
return function () {
return i;
};
}
var r = new Array(s);
for (var i = 0; i < s; i++) {
r[i] = generator(i);
}
return r;
}
console.log(foo(1000)[42]());
Using Function.prototype.bind():
function foo(s) {
function generator(i) {
return i;
}
var r = new Array(s);
for (var i = 0; i < s; i++) {
r[i] = generator.bind(window, i);
}
return r;
}
console.log(foo(1000)[42]());
- deleted 12y ago[deleted]