0

我有一个名为 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 对产品进行排序。

4

2 回答 2

2

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

  1. 数组有这个方便的sort方法。;-) 它接受一个用于比较数组中项目的函数。因此,只需sort在添加您的项目后使用。

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

因为数组是一流的 JSON 概念,所以在被刺杀和复活时会保持顺序。

于 2013-02-18T09:28:32.353 回答
2

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

var visits= $.parseJSON($.cookie("visits");)
visits.push( /* value */);
visits.sort();
$.cookie("visit", JSON.stringify(visits));
于 2013-02-18T09:35:38.927 回答