2

array- 多维数组:

array[0] = [["1","2","3"],["1","2","3"],["1","2","3"]];

我需要把这个数组放入 cookie ( $.cookie('myCookie', JSON.stringify(array)))

现在是有趣的部分:

我需要维护myCookie并将新数据放入其中。

如果新生成array的有任何新数据(元素),我需要从数组中提取新元素并将它们添加到myCookie

最优雅的方法是什么?

4

4 回答 4

0

尝试这样的事情:

jQuery(document).ready(function($){
    var a=[];
a[0]= [["1","2","3"],["1","2","3"],["1","2","3"]];
a[1]= [["8","9","9"],["5","6","7"]];

var json_string_old=JSON.stringify(a); 

    //set myCookie
    $.cookie('myCookie',json_string_old); 

    //change the value of the array as per your requirments
   a[1]=[["2","2","2"],["2","2","2"]];
   a[2]=[["4","4","4"],["4","4","4"]];
    //convert it again to JSON String
var json_string_new=JSON.stringify(a);

    //now compafre & update accordingly
    if(json_string_new === json_string_old){
        console.log("same no need to update cookie");
    }else{
        console.log("different ok lets update the cookie");
       $.cookie('myCookie',json_string_new);     
    }    


});
于 2013-03-06T00:15:30.417 回答
0

最优雅的方法是按照您最初设置它的方式进行操作 - 用新的数组值覆盖您的 cookie...

于 2013-03-05T23:12:06.660 回答
0

以下是您的操作方法,采用分步格式:

  1. 创建您的数组的 JSON 版本jsonArray
  2. 拉下JSON格式的cookie
  3. 在不反序列化的情况下,将其与jsonArray.
  4. 如果字符串不相同,请将 cookie 设置为jsonArray.
  5. 否则,什么也不做。
于 2013-03-05T23:12:57.997 回答
0

哦,我不知道使用客户端语言在客户端存储上使用 cookie。这真的是为 php 处理的。

你应该在localStorage中寻找类似的东西,它更方便。

localStorage['item'] = "Hello world";
alert(localStorage['item']); // Hello World

localStorage['item'] += "!!!";
alert(localStorage['item']); // Hello World!!!

localStorage['item'] = "Good bye";
alert(localStorage['item']); // good bye

var obj = {0:{text:"Hello"}, 1:{text:"World"}};
localStorage['item'] = JSON.stringify(obj);
JSON.parse(localStorage['item']); // {0:{text:"Hello"}, 1:{text:"World"}}

sessionStorage类似于localStorage,但仅在关闭浏览器或选项卡之前持续存在。


希望这有帮助!

于 2013-03-05T23:13:48.277 回答