Сортировка JSON данных на стороне клиента

0

У меня есть следующий скрипт, который объединяет 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?

Я думаю, что я должен использовать jquery.sort, но не могу понять, как использовать его с моим текущим кодом.

Теги:

1 ответ

1
Лучший ответ

Вы могли бы сделать что-то вроде этого

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

Заметки

  • изменить v на имя переменной опубликованных данных
  • data должны быть массивом каналов
  • 0
    Похоже, это дает мне странные результаты: 12 августа 2013 г., 16 сентября 2013 г., 12 мая 2013 г. Я ожидал, 16 сентября 2013 г., 12 августа 2013 г., 12 мая 2013 г.
  • 0
    @oshirowanen измените return 1 на return -1 и наоборот
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню