На клиенте получаю от сервера JSON данные, которые сервер отдаёт отсортированными в нужном порядке DESC, но в клиент приходят данные отсортированными в обратном порядке =) ASC
Где то вычитал что браузеры коверкают сортировку кто как.
Если с сервера приходит массив, то нормально
0:{id: "84939", title: "Камера запечатлела, как две машины превратились в груды металла в Подмосковье ",…}
1:{id: "84938", title: "Пассажирский автобус вспыхнул на западе Москвы (видео)",…}
Если ассоциативный массив, то браузер сортирует
"84938":{id: "84938", title: "Пассажирский автобус вспыхнул на западе Москвы (видео)",…}
"84939":{id: "84939", title: "Камера запечатлела, как две машины превратились в груды металла в Подмосковье ",…}
Пришлось менять объекты на массивы, что бы делать сортировку, потому что объекты я так понял не сортируются.
data = data.sort(function (a, b) {
if (a.id < b.id) return 1;
if (a.id > b.id) return -1;
});
Соответственно пришлось еще кучу всего переписать, например условие if (id in data) что бы проверять есть ли уже новость с таким id, превратилась в цикл.
function existID (val, data) {
var result = false;
$.each(data, function (id, row) {
if (row['id'] == val) {
result = true;
}
});
return result;
}
В общем 2 дня баги ловлю, но пришла мысль что возможно зря тут изгаляюсь и в js есть сортировка ассоциативных массивов?
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2