簡體   English   中英

For循環陷入無限循環

[英]For loop stuck in an infinite loop

我的for循環陷入無限循環,我不知道為什么。 有人可以告訴我我在做什么錯嗎?

jData是從文本文件提取的數組。 圖片目前以逗號分隔的字符串存儲,此循環應提取它們並逐一顯示。

  for( var i = 0 ; i < jData.length ; i++ ){ //runs loop to populate container. //console.log("array images contains " + jData[i].imgs); if (jData[i].imgs){ var sImages = jData[i].imgs; var aImages = sImages.split(','); for( var i = 0 ; i < aImages.length; i++) { sPropertyTemplate = sPropertyTemplate.replace( "{{images"+i+"}}" , aImages[i] ); console.log(aImages[i]); break; } } var sPropertyTemplate = sProperty; sPropertyTemplate = sPropertyTemplate.replace( "{{id}}" , jData[i].sUniqueId ); sPropertyTemplate = sPropertyTemplate.replace( "{{address}}" , jData[i].sAddress ); sPropertyTemplate = sPropertyTemplate.replace( "{{type}}" , jData[i].sType ); sPropertyTemplate = sPropertyTemplate.replace( "{{price}}" , jData[i].iPrice ); sPropertyTemplate = sPropertyTemplate.replace( "{{locLat}}" , jData[i].lat ); sPropertyTemplate = sPropertyTemplate.replace( "{{LocLng}}" , jData[i].lng ); 

您在內部和外部循環中都使用了相同的變量i 因此,您將始終覆蓋它在外部for循環中應具有的值。

您應該做的是,對內部循環使用其他變量,例如j

for( var j = 0 ; j < aImages.length; j++) {
    sPropertyTemplate = sPropertyTemplate.replace( "{{images"+j+"}}" , aImages[j] );
    console.log(aImages[j]);
    break;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM