简体   繁体   中英

For loop inside For Loop Javascript

For some reason this statement is skipping some data.Am I missing a continue statement somewhere or something? Here is the code

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>';
    }
  }
}

Use a different variable on the inner loop, like j instead of 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 + 

you are using "i" in your outer an inner loops. you need to use a different variable in the inner loop: i have used "inner" below as and example.

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
      }
    }
  }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM