2013-06-14 2 views
0

У меня, вероятно, отсутствует пропущенная здесь вещь.Как отсортировать набор результатов XML на основе значения ставки?

У меня есть XML-канал. Я знаю, как разобрать сам XML, но как я поворачиваю, скажем, массив объектов, как:

[ {bid:"0.001", title:'test title', description:'test description'}, {bid:"0.025", title:'why are you', description:'still reading'} ]

..into массив, где я знаю, что массив [0] будет получать мне XML результат с наивысшей ставкой - значит, мне нужно просканировать объекты внутри и отсортировать их по наивысшей ставке.

Я испортил фильтр jquery, но я не могу заставить его работать.

+0

это не XML, это JSON –

+0

Это, конечно, приходит в качестве XML. Я решил добавить соответствующие списки в массив объектов, это не плохое начало их сортировки. Я получаю XML или json в качестве входных данных, не имеет никакого отношения к вопросу –

ответ

1

Отсортировать массив, используя пользовательскую функцию сортировки:

your_array.sort(sortByBid); 


sortByBid = function(a, b) { 
    var a_bid = parseFloat(a.bid);   
    var b_bid = parseFloat(b.bid); 
    if (a_bid === b_bid) { 
     return 0; 
    } 
    return (a_bid > b_bid ? 1 : -1); 
} 
+0

Это ничего не делало. Что я сделал неправильно? –

+0

Пожалуйста, покажите код. Выше фрагмент приведет к тому, что «your_array» будет отсортирован по цене. – mishik

+0

Это слишком долго. Вместо этого я исследую ваш лакомый кусочек кода. Будет ли эта работа работать с более чем двумя членами массива? –

Смежные вопросы