Для цикла внутри For Loop Javascript - PullRequest
8 голосов
/ 16 августа 2011

По какой-то причине это утверждение пропускает некоторые данные. Я пропустил продолжить заявление где-то или что-то? Вот код

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

Ответы [ 2 ]

15 голосов
/ 16 августа 2011

Используйте другую переменную во внутреннем цикле, например 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 + 
3 голосов
/ 16 августа 2011

вы используете «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
      }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...