2014-09-29 3 views
0

Я хотел бы печатать каждую итерацию в моей петле (1,2,3,4,5). Но в данный момент это только печать размера моего массива (5).Javascript - для печати цикла только последняя итерация

for (var key in mapParseJson.background) { 

    //sequelize 
    refModelBedrawnins.find({ 
    where: ['POS_TILE_BE_DRAW_IN =? ',mapParseJson.background[key]   [0]], 
    include: [{ model: refModelDrawableObject }] 
    }).success(function(result) { 

    // I'd like to print every iteration right here 
    console.log(key); 
    }); 

} 
+1

Показать весь код (т.е. содержание mapParseJson.background) – Max

+0

Вы видите несколько '5's или только один? (Обратите внимание, что на какой-либо консоли будут отображаться идентичные повторяющиеся сообщения с повторным счетчиком слева или справа от сообщения.) – apsillers

+0

Я вижу mutiple 5s –

ответ

3

Вы должны избегать закрытия и сохранения переменной «ключ» значение:

for (var key in mapParseJson.background) { 
    //sequelize 
    (function(k){ 
     refModelBedrawnins.find({ 
      where: ['POS_TILE_BE_DRAW_IN =? ', mapParseJson.background[k]   [0]], 
      include: [{model: refModelDrawableObject}] 
     }).success(function(result) { 
      console.log(k); 
     }); 
    })(key); 
} 
+0

Я не знаю почему, но функция() не выполняется. (Я использую nodejs для печати результата). Если я console.log ('test') в анонимной функции просто ничего не печатает –

+0

Я отредактировал, очень извините, я использовал это с функциями. – Hacketo

+0

Это работает отлично, спасибо вам большое! –

Смежные вопросы