jQuery每个json结果,不到6个结果

时间:2012-01-23 13:55:46

标签: javascript jquery json

我有照片上传功能,我将上传的照片返回到使用此数据做两件事,一张用于将它们添加到照片容器中,第二张我试图预览最后6张照片JSON数组(可能有1-100个)。

此代码工作正常,但我希望它将其限制为最大值6,并且还需要从JSON数据数组的末尾获取它。

所以如果数组有类似的东西:1,2,3,4,5,6,7,8,9

它应该返回:9,8,7,6,5,4

以下是我用来预先添加所有内容的内容。

$.each(json, function(i, item) {
    $(".albums #albums li#"+albumID+" .photo-thumbs").prepend("
        <img src='photos/"+json[i]+"_30.jpg' />
    ");
});

2 个答案:

答案 0 :(得分:3)

$.each(json.reverse().slice(0,json.length>6 ? 6 : json.length)), function(i, item) {
  $(".albums #albums li#"+albumID+" .photo-thumbs").prepend("
  <img src='photos/"+json[i]+"_30.jpg' />
");

价:

反向() http://www.w3schools.com/jsref/jsref_reverse.asp

切片() http://www.w3schools.com/jsref/jsref_slice_array.asp

答案 1 :(得分:0)

不反转和切片阵列会更有效率。你只需要一个正常的for循环即可完成这个任务:

for(var i=json.length-1;i>json.length-7&&i>0;--i)
{
    $(".albums #albums li#"+albumID+" .photo-thumbs").prepend("
<img src='photos/"+json[i]+"_30.jpg' />
");
}