2014-09-29 65 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 2014-09-29 13:15:31

+0

你看到多个'5's或只有一个? (请注意,某些控制台将显示与邮件左侧或右侧的重复计数器相同的重复消息。) – apsillers 2014-09-29 13:18:07

+0

我正在看到多个5s – 2014-09-29 13:19:31

回答

3

你需要避免关闭和保存VAR“键”值:

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'),它只是不会打印任何东西 – 2014-09-29 13:28:54

+0

我编辑过,真的很抱歉,我以前是用函数做的。 – Hacketo 2014-09-29 13:37:39

+0

完美的工作,非常感谢! – 2014-09-29 13:41:17

相关问题