按Cookie中的数据对JSON响应进行排序

时间:2013-02-18 09:21:47

标签: javascript jquery json

我有一个名为products

的表
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结果,因此我如何根据Cookie中存储的内容对ProductID进行排序..

2 个答案:

答案 0 :(得分:2)

您的visits变量是指数组。有两种选择:

  1. 阵列有这个方便sort method。 ;-)它接受一个用于比较数组中项目的函数。因此,请在添加商品后使用sort

  2. 而不是push,循环遍历数组以找到新条目的正确位置,然后使用splice将其放在正确的位置。 (就像插入排序一样。)然后数组总是排序。

  3. 因为数组是一流的JSON概念,所以在被加标和恢复时会保持顺序。

答案 1 :(得分:2)

最简单的方法是不存储对象,只存储ID本身的数组。

var visits= $.parseJSON($.cookie("visits");)
visits.push( /* value */);
visits.sort();
$.cookie("visit", JSON.stringify(visits));