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