2013-02-18 3 views
0

У меня есть таблица с именами продуктовСортировка JSON ответ данными в куки

ProudctID ProductName 
1   A 
2   B 
3   C 
4   D 

Я хочу, чтобы сортировать продукты с использованием JavaScript. Так что я сделал это ...

var visits= [ 
    { 'ProudctID' : 4 } 
]; 
$.cookie("visit", JSON.stringify(visits)); 

на каждый вид продукта я делаю это

var visits= $.parseJSON($.cookie("visits");) 
visits.push(
    { 'ProudctID' : 1} 
); 
$.cookie("visit", JSON.stringify(visits)); 

У меня есть JSON результат всех продуктов, так как я могу сортировать продукт по ProductID на основе того, что хранится в файле cookie.

ответ

2

Ваша переменная visits относится к массиву. Два варианта для вас:

  1. Массивы имеют этот удобный sort method. ;-) Он принимает функцию, используемую для сравнения элементов в массиве. Так что просто используйте sort после добавления вашего товара.

  2. Вместо push проведите через массив, чтобы найти нужное место для новой записи, затем используйте splice, чтобы поместить его в нужное место. (Подобно сортировке вставки). Затем массив всегда сортируется.

Поскольку массивы являются первоклассной концепцией JSON, заказ будет сохранен при истечении срока службы и восстановлении.

2

Простейшим было бы не хранить объекты и просто хранить массив самих идентификаторов.

var visits= $.parseJSON($.cookie("visits");) 
visits.push(/* value */); 
visits.sort(); 
$.cookie("visit", JSON.stringify(visits)); 
Смежные вопросы