Javascript jQuery:在cookie中更新数组
Javascript jQuery:在cookie中更新数组,javascript,jquery,json,cookies,Javascript,Jquery,Json,Cookies,数组-多维数组: array[0] = [["1","2","3"],["1","2","3"],["1","2","3"]]; 我需要将这个数组放入cookie($.cookie('mycokie',JSON.stringify(数组))) 现在是有趣的部分: 我需要维护MyOkie,并在其中添加新数据 如果新生成的array有任何新数据(元素),我需要从数组中提取新元素并将它们添加到mycokie 最优雅的方式是什么?最优雅的方式是按照您最初设置的方式进行操作-用新数组值覆盖cookie…
数组
-多维数组:
array[0] = [["1","2","3"],["1","2","3"],["1","2","3"]];
我需要将这个数组放入cookie($.cookie('mycokie',JSON.stringify(数组))
)
现在是有趣的部分:
我需要维护MyOkie,并在其中添加新数据
如果新生成的array
有任何新数据(元素),我需要从数组中提取新元素并将它们添加到mycokie
最优雅的方式是什么?最优雅的方式是按照您最初设置的方式进行操作-用新数组值覆盖cookie…以下是您的操作方法,步骤格式:
jsonArray
jsonArray
进行比较jsonArray
哦,我不知道如何使用客户端语言在客户端存储上使用cookie。这确实是为php所做的 你应该研究一下这样的东西,它更方便
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
,但仅在浏览器或选项卡关闭之前保持
希望这有帮助 试试这样的方法:
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);
}
});
对其进行反序列化、更改、重新序列化和设置。要不然怎么做?@KevinB将
数组
转换为对象,JSON.parse('mycokie')
,并在循环中检查数组中的每个项,如果它在mycokie
中存在?(你已经失去我了,但还好…)然后呢?新项目的第三个对象?问题是#5“否则”我需要从jsonArray中提取更改并将其添加到cookie@rinchik:否,因为如果数组不匹配,则它们是相同的,并且没有任何更改。如果没有任何更改,则您没有理由向cookie添加任何更改。:-)