我有一个函数,我需要在数组中为每个项创建一个匿名函数。我正在解析一个CSV文件,我想创建一个匿名函数来处理每一行(所以我可以使用async.paralell)。
请参阅以下小提琴,了解我要做的事情:
var arr = [1, 2, 3];
var func_arr = [];
var str = 'Output: ';
for (var i = 0, len = arr.length; i < len; i++) {
var aFunc = function () {
str = str + ' ' + i.toString();
document.getElementById('text').innerHTML = str;
}
func_arr.push(aFunc);
}
for (var x = 0; x < func_arr.length; x++) {
var func = func_arr[x];
func();
}
https://jsfiddle.net/tg1fpjy7/4/(预期输出应为1 2 3)
这是我使用另一个变量再次跟踪位置解决它的一种方法:https://jsfiddle.net/pk0Lc16L/1/ ..但是,我讨厌解决方案,必须有更优雅的方法来做到这一点。
思想?
谢谢!
罗布