For Loop Javascript 中的 For 循环

Posted

技术标签:

【中文标题】For Loop Javascript 中的 For 循环【英文标题】:For loop inside For Loop Javascript 【发布时间】:2011-10-27 15:51:20 【问题描述】:

由于某种原因,此语句跳过了一些数据。我错过了 在某处继续声明还是什么? 这是代码

for (var i = 0, len = data.ORDER_STATUS[0].ORDERS.length; i < len; i++) 
  if (data.ORDER_STATUS[0].ORDERS[i].SEC_TYPE == "MLEG") 
    for (var i = 0; i < data.ORDER_STATUS[0].ORDERS[i].LEGS.length; i++) 
      LEGS += '<tr class="MLEGS"><td class="orderFirst">' +
        data.ORDER_STATUS[0].ORDERS[i].LEGS[i].SYMBOL +
        '</td><td>' + data.ORDER_STATUS[0].ORDERS[i].LEGS[i].ACTION +
        '</td><td>' + data.ORDER_STATUS[0].ORDERS[i].LEGS[i].QTY +
        '</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>';
    
  

【问题讨论】:

为什么它的格式是这样的?它看起来像是从模板文件或其他东西生成的。 你应该两次都使用 i 变量吗? 【参考方案1】:

在内循环中使用不同的变量,例如 j 而不是 i

for (var i = 0, len=data.ORDER_STATUS[0].ORDERS.length; i < len; i++) 
    //...

   for (var j = 0; j < data.ORDER_STATUS[0].ORDERS[i].LEGS.length; j++)
       //...
       data.ORDER_STATUS[0].ORDERS[i].LEGS[j].SYMBOL + 

【讨论】:

这绝对有效,但现在内部循环仅在有 4 个时返回该对象中的第一个数组键。嗯 @Bootleg:我需要看看你的data 才能知道原因。你能把它贴在问题里吗? @Bootleg:控制台有错误吗?很难从图像中看出发生了什么。你能在你的问题中发布你更新的代码吗?不要删除原始代码。只需将新代码放在底部即可。 @Bootleg:啊那些棘手的 CSS 问题!不是问题。很高兴你明白了。 @Greg:感谢您指出这一点。我忘了更新那个变量。但是让我告诉你一件事。每次有人犯了一个小错误时,你都不需要投反对票。我一直帮助纠正人们的答案,而不会投反对票。前几天我corrected yours 没有对您(或其他答案不正确的人)投反对票。事实上,我很少给任何人投反对票。如果您查看我的个人资料,您会看到在我的 3,434 票中,有 96 票投了反对票。我宁愿帮助别人......【参考方案2】:

您在外部和内部循环中使用“i”。您需要在内部循环中使用不同的变量:我在下面使用了“内部”作为示例。

for (var i = 0, len=data.ORDER_STATUS[0].ORDERS.length; i < len; i++) 
    if (data.ORDER_STATUS[0].ORDERS[i].SEC_TYPE=="MLEG")
      for (var inner = 0; inner  < data.ORDER_STATUS[0].ORDERS[i].LEGS.length; inner ++) 
          // do something
      
    
  

【讨论】:

以上是关于For Loop Javascript 中的 For 循环的主要内容,如果未能解决你的问题,请参考以下文章

javascript for loop async

JavaScript之for...in和for...fo区别

javascript 使用knex in for loop err

JavaScript - For loop vs forEach

[Javascript] Iterate Over Items with JavaScript's for-of Loop

[Javascript] Use JavaScript's for-in Loop on Objects with Prototypes