[英]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.