2015-09-02 351 views
-1

有人请让我知道,我的嵌套循环的格式有什么问题。我似乎没有得到它正确地循环。相同的值不会一起生成。嵌套循环Javascript

for (var field in Itemlist) { 
     for (var field in EstItems){ 
      console.log(Itemlist[field].item_id, EstItems[field].zoho_id); 
      if (EstItems[field].zoho_id == Itemlist[field].item_id) { 
       console.log("We are In"); 
       var id = EstItems[field].itemID; 
       var itemID = EstItems[field].zoho_id; 
       var barcode = EstItems[field].barcode; 
       //var EstBarcode = EstItems[field].itemID; 
       var description = EstItems[field].description; 
       var cost = EstItems[field].cost; 
       var shippingCost = "500"; 
       var clearingCharges = ""; 
       var quantityOrdered = 1; 
       //var quantityRecvd = EstItems[field].itemID; 
       //var quantityRTD = EstItems[field].itemID; 
       var selected = 0; 
       var totalcost = (cost*quantityOrdered)+parseFloat(shippingCost); 
       var categoryID = 0; 
      } 
     } 
    } 
+8

变量名'field'使用两次。 –

回答

2

您通过覆盖以前的变量引入了范围问题。

for (var field in Itemlist) { 
    // `field` here is a property from ItemList 
    for (var field in EstItems){ 
    // `field` here is a property from EstItems 
    // Any attempt to access the `field` var from the outer loop will fail, as it has been overwritten. 
    } 
} 

为两个循环重命名field

+0

非常感谢。伙计们。不知道我是如何错过的 – BrodaTherapy