Я использую библиотеку caolan async.js, в частности метод .each.
Как вы получаете доступ к индексу в итераторе?
async.each(ary, function(element, callback){
//do stuff here for each element in ary
//how do I get access to the index?
}, function(err) {
//final callback here
})