从JSON数组中切片以获取前五个对象。

11
我有一个 JSON 文件,在其中读取对象并将它们显示在 div 中。但我只需要显示五个对象,而不是全部。
以下是我使用的代码。
$.each(recentActdata.slice(0,5), function(i, data) {
            var ul_data = "<li><h3>"+ renderActionLink(data)+ "</h3></li>";
            $("#recentActivities").append(ul_data);
        });

但是这个代码片段似乎不起作用。我的 JSON 格式为

[   
{ 
    "displayValue":"Updated Guidelines", 
    "link":"#",
    "timestamp":"29/06/2013 01:32"
},
{ 
    "displayValue":"Logging", 
    "link":"#",
    "timestamp":"28/06/2013 16:19"
},
{ 
    "displayValue":"Subscribe", 
    "link":"#",
    "timestamp":"21/06/2013 14:30"
},
{ 
    "displayValue":"Artifactory Vs Nexus", 
    "link":"#",
    "timestamp":"21/06/2013 13:39"
},
{ 
    "displayValue":"CTT - Java 7", 
    "link":"#",
    "timestamp":"20/06/2013 13:30"
},
{ 
    "displayValue":"Added Artifactory Server", 
    "link":"#",
    "timestamp":"19/06/2013 23:39"
},
{ 
    "displayValue":"Estimation Template", 
    "link":"#",
    "timestamp":"19/06/2013 23:39"
},
{ 
    "displayValue":"GZIP compression in Tomcat", 
    "link":"#",
    "timestamp":"14/06/2013 23:39"
},
{ 
    "displayValue":"HBase Basics", 
    "link":"#",
    "timestamp":"12/06/2013 23:39"
}
 ]

请建议如何实现这一点。我无法为我的JSON命名。

1个回答

6

你发布的代码运行良好!

这是一个演示:http://jsfiddle.net/enXcn/1/

请注意,当您更改slice的值时,会显示更多或更少的元素,这正是您所描述的。

HTML: <div id="recentActivities"></div>

JS:

var recentActdata = [   
{ 
    "displayValue":"Updated Guidelines", 
    "link":"#",
    "timestamp":"29/06/2013 01:32"
},
{ 
    "displayValue":"Logging", 
    "link":"#",
    "timestamp":"28/06/2013 16:19"
},
{ 
    "displayValue":"Subscribe", 
    "link":"#",
    "timestamp":"21/06/2013 14:30"
},
{ 
    "displayValue":"Artifactory Vs Nexus", 
    "link":"#",
    "timestamp":"21/06/2013 13:39"
},
{ 
    "displayValue":"CTT - Java 7", 
    "link":"#",
    "timestamp":"20/06/2013 13:30"
},
{ 
    "displayValue":"Added Artifactory Server", 
    "link":"#",
    "timestamp":"19/06/2013 23:39"
},
{ 
    "displayValue":"Estimation Template", 
    "link":"#",
    "timestamp":"19/06/2013 23:39"
},
{ 
    "displayValue":"GZIP compression in Tomcat", 
    "link":"#",
    "timestamp":"14/06/2013 23:39"
},
{ 
    "displayValue":"HBase Basics", 
    "link":"#",
    "timestamp":"12/06/2013 23:39"
}
 ];


$.each(recentActdata.slice(0,5), function(i, data) {
            var ul_data = "<li><h3>"+ data.displayValue+ "</h3></li>";
            $("#recentActivities").append(ul_data);
        });

基本上,我正在进行一个ajax调用,文件格式与我上面给出的相同,但问题是我无法向我的JSON数组添加名称。这个$each在ajax的success函数内部:success: function(recentActdata) { $.each(recentActdata.slice(0,5), function(i, data) { var ul_data = "<li><h3>"+ renderActionLink(data)+ "</h3></li>"; $("#recentActivities").append(ul_data); }); }, - roger_that
抱歉。好的,代码运行良好,只是我无法找到一些其他错误。感谢您的回应。 - roger_that

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接