2016-05-16 3 views
-2

У меня есть веб-страница массивов, которые мне нужно преобразовать в читаемые данные. Как отсортировать массивы с помощью jquery/Ajax?Как заполнить массивы с помощью ajax?

Вот ссылка https://fcctop100.herokuapp.com/api/fccusers/top/recent

+0

Возможный дубликат http://stackoverflow.com/questions/28911984/filtering-objects-from-external-array-to-create-a-list-using-jquery-ajax -and –

+0

Вы отправляете запрос, получаете данные, а затем обрабатываете информацию, используя карту или уменьшаете или алгоритм ... это зависит от того, что вам нужно сделать с этим, чего вы хотите достичь ... –

ответ

-1

Зависит от того, что вы хотите, чтобы отсортировать их.

Допустим, вы хотите отсортировать их по имени пользователя, для решения проблемы можете использовать this answer.

В приведенном ниже примере я использовал указанную функцию для сортировки данных по имени пользователя.

//This will sort your array 
 
//srot function from https://stackoverflow.com/a/5503957/3591300 
 
function SortByName(a, b){ 
 
    var aName = a.username.toLowerCase(); 
 
    var bName = b.username.toLowerCase(); 
 
    return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0)); 
 
} 
 
$.get("https://fcctop100.herokuapp.com/api/fccusers/top/recent", function(data) { 
 

 
//here we run the function to sort the array of data before transforming it to table 
 
data.sort(SortByName); 
 
    var table = '<table>' 
 
    for (i = 0; i < data.length; i++) { 
 
    table += '<tr><td>' + data[i].alltime + '</td><td><img width=20 height=20 src="' + data[i].img + '"></td><td>' + data[i].lastUpdate + '</td><td>' + data[i].recent + '</td><td>' + data[i].username + '</td></tr>'; 
 

 
    } 
 
    $('body').append(table); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>

+0

, который отлично работает, кроме , для необъявленной i-переменной здесь 'for (i = 0; i Rocket

+0

Oh yup, вероятно, был напечатан быстро. –

0

вы можете сортировать массив в JavaScript, передавая функцию методы сортировки. В функции вы возвращаете -1 или 1 в зависимости от сравнения двух элементов. Ниже пример опирается на атрибут Order, изменяйте его. aoSortedUrgencies - это массив объектов.

aoSortedUrgencies.sort(function (a, b) { return ((a.Order< b.Order) ? -1 : (a.Order> b.Order? 1 : 0)) }); 

После сортировки вы можете назвать это, чтобы создать строку JSON для передачи в вызов Ajax:

JSON.stringify(aoSortedUrgencies) 
Смежные вопросы