什么语法导致错误" SyntaxError:missing;在for-loop条件下"?

时间:2017-12-08 09:51:11

标签: javascript html json

$.getJSON("blogData.json", function(data) {

if((Object.keys(data).length) < 2){
    for(var i=0; i =Object.keys(data).length){
    $("#blogPosts").append("<h3>" + data[data.length-i].title + "</h3>");
    $("#blogPosts").append("<h4>" + data[data.length-i].desc + "</h4>");
    $("#blogPosts").append("<h4>" + data[data.length-i].author + "</h4>");
    $("#blogPosts").append("<p>" + data[data.length-i].post + "</p>");
    $("#blogPosts").append("<br>");
    }
}
else{
    for(var x=0; x = 2; x++; ){
    $("#blogPosts").append("<h3>" + data[data.length-i].title+ "</h3>");
    $("#blogPosts").append("<h4>" + data[data.length-i].desc + "</h4>");
    $("#blogPosts").append("<h4>" + data[data.length-i].author + "</h4>");
    $("#blogPosts").append("<p>" + data[data.length-i].post + "</p>");
    $("#blogPosts").append("<br>");

}
}

});

我无法弄清楚为什么这会导致我的网站出现问题?我想显示JSON数组,但只添加了2个最新记录到数组?有人能就这个问题提出建议吗?

1 个答案:

答案 0 :(得分:0)

您需要在上部循环中增加i:

for(var i=0; i =Object.keys(data).length; i++){ // increment i
    $("#blogPosts").append("<h3>" + data[data.length-i].title + "</h3>");
    $("#blogPosts").append("<h4>" + data[data.length-i].desc + "</h4>");
    $("#blogPosts").append("<h4>" + data[data.length-i].author + "</h4>");
    $("#blogPosts").append("<p>" + data[data.length-i].post + "</p>");
    $("#blogPosts").append("<br>");
}

您可以在developer.mozilla.org

找到JavaScript for循环的文档