对JSON数据客户端进行排序

时间:2013-09-23 11:19:21

标签: json jquery

我有以下脚本,它将2个源组合在一起:

$(document).Ready(function() {
    url = 'feed 1';
    url_2 = 'feed 2';

    $.when(
        $.ajax({
            type: "GET",
            url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url),
            dataType: 'json'
        }),
        $.ajax({
            type: "GET",
            url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url_2),
            dataType: 'json'
        })
    ).done(function(a1, a2) {
        var data = a1[0].responseData.feed.entries.concat(a2[0].responseData.feed.entries);
        if (data[0]) {
            for (i = 0; i <= data.length - 1; i++) {
                document.write(data[i].title);
                document.write("<br>");
                document.write(data[i].categories[0]);
                document.write("<br>");
                document.write(data[i].publishedDate);
                document.write("<br>");
                document.write(data[i].link);
                document.write("<hr>");
            }
        } 
        else {
            document.write("No records");
        }
    });
});

如何按publishedDate排序已加入的Feed?

我想我应该使用jquery.sort,但无法弄清楚如何将它与我当前的代码一起使用。

1 个答案:

答案 0 :(得分:1)

你可以做这样的事情

data.sort(function (a, b) {
    if (a.v > b.v) {
        return 1
    }
    if (a.v < b.v) {
        return -1
    }
    return 0;
});

备注

  • v更改为已发布数据的变量名称
  • data应该是Feed的数组